如何“猜测”缺少哪些库?

时间:2012-06-19 22:01:11

标签: c++ visual-studio-2010 visual-c++ linker

这个问题纯粹是学术性的,所以以下只是一个例子;如果我在这一行前添加两个斜杠

#pragma comment(lib, "../node-src/Release/node")

我会得到十几个链接器错误。好吧不是真的打,但至少2-3行看起来像这样

1>test.obj : error LNK2001: unresolved external symbol "public: static class 
v8::Local<class v8::String> __cdecl v8::String::New(char const *,int)" 
(?New@String@v8@@SA?

现在我知道大多数要求都在规范中,但是有没有办法知道哪些文件真的是链接器丢失了?我的意思是,如果我用常规包含替换#pragma指令,我应该采取什么步骤?

1 个答案:

答案 0 :(得分:3)

很简单,答案是没有简单的方法来告诉链接器缺少哪些文件。它所知道的是它正在搜索的符号,而不是您需要包含的库文件。毕竟,只要您告诉链接器在哪里搜索它,您就可以在任何您想要的库中定义这些符号。

如果您有一堆潜在的库,可以使用Lib.exe as per this post on SO之类的东西来搜索匹配的符号,然后尝试将链接器指向这些文件,但是再一次,没有办法让链接器找到这些信息为你..