VS2013 编译《C++ Primer》上的代码,提示 cannot open file 'kernel32.lib'

2015-01-11 14:58:12 +08:00
 fetich

这是什么原因?

用VS2012命令行可以编译,VS2013命令行不能编译,用clang也不行。

是我哪里设置错误了么,请指教。

4972 次点击
所在节点    问与答
15 条回复
fetich
2015-01-11 15:03:29 +08:00
#include <iostream>

int main() {
int currVal = 0, Val = 0;
if(std::cin >> currVal) {
int cnt = 1;
while(std::cin >> Val) {
if(Val == currVal) ++cnt;
else {
std::cout << currVal << " occurs" << cnt << " times " << std::endl;
cnt = 1;
currVal = Val;
}
}
std::cout << currVal << " occurs" << cnt << " times " << std::endl;
}
return 0;
}

代码在此。
paulw54jrn
2015-01-11 15:04:13 +08:00
fetich
2015-01-11 15:09:28 +08:00
@paulw54jrn
这篇帖子我看过,重装VS很麻烦的,而且不一定解决。至于帖子里提到过的SDK,它的安装路径是 C:\Program Files (x86)\Windows Kits,已经安装过了,应该不是这个原因。

我来问问,就是看看有人碰到和我一样的问题么,有效的解决方法是什么,上面的代码这么简单,不能编译也是非常郁闷。
fetich
2015-01-11 15:13:04 +08:00
逛V的时候,看到初学者还是用编辑器+gcc/llvm,但是上面的代码clang出现了16个错误。。。
acros
2015-01-11 15:17:39 +08:00
自己拿2013试了下没问题··
x64的系统。
估计是工程设置不一样?
paulw54jrn
2015-01-11 15:19:46 +08:00
fetich
2015-01-11 15:23:22 +08:00
@acros
额,那工程设置能详细说一下嘛,另外你使用IDE的么,还是cl命令行?
@paulw54jrn
等会儿试试吧。
dsdshcym
2015-01-11 15:27:27 +08:00
用 clang 没有错误啊
fetich
2015-01-11 15:29:18 +08:00
@dsdshcym
什么系统,编辑器+clang?看来的确是我设置问题了。
acros
2015-01-11 15:31:03 +08:00
@fetich win7 64
IDE里面直接新建了个win32的console工程编译的
dsdshcym
2015-01-11 15:35:08 +08:00
@fetich
OS X。应该是编译器没有设好吧,没用过 VS ,个人猜测。
ltm
2015-01-11 15:58:23 +08:00
-------------- Build: Debug in test (compiler: GNU GCC Compiler)---------------

mingw32-g++.exe -Wall -fexceptions -g -c C:\。。。\main.cpp -o obj\Debug\main.o
mingw32-g++.exe -o bin\Debug\test.exe obj\Debug\main.o
Output file is bin\Debug\test.exe with size 988.12 KB
Process terminated with status 0 (0 minute(s), 1 second(s))
0 error(s), 0 warning(s) (0 minute(s), 1 second(s))


gcc没问题。 如果只是为了学C++的话,还是不要用VS了,我以前就陷过这个坑(往事不堪回首啊,vs出了问题,最后搞到直接重装系统……),codeblocks或eclipse就很好了。
yksoft1
2015-01-11 16:35:09 +08:00
明显是静态链接CRT的时候要用到Windows的动态库,然后环境变量LIB里没有SDK的路径
endrollex
2015-01-11 18:40:40 +08:00
tabris17
2015-01-11 18:47:02 +08:00
环境变量没设置好吧,为啥不用IDE编译呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/161112

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX