C++ VisualStudio2010中的链接器问题
好吧,这真的很烦人。我有一个非托管的VC 2010++解决方案,其中包含9个项目,其中两个项目输出静态库,供其余7个测试项目使用。在这7个中的6个中,我没有收到一个链接器错误,而在第7个中,配置与这6个完全相同,我目前收到12个链接器错误,我看不出我做错了什么(如果我做错了什么) 我试过:C++ VisualStudio2010中的链接器问题,c++,visual-studio-2010,linker-errors,C++,Visual Studio 2010,Linker Errors,好吧,这真的很烦人。我有一个非托管的VC 2010++解决方案,其中包含9个项目,其中两个项目输出静态库,供其余7个测试项目使用。在这7个中的6个中,我没有收到一个链接器错误,而在第7个中,配置与这6个完全相同,我目前收到12个链接器错误,我看不出我做错了什么(如果我做错了什么) 我试过: 使用project->Add->Existing files 使用#pragma comment(lib,“libname.lib”)指令将它们链接到 在项目属性->公共属性->框架和引用中添加引用 在链接
- 使用
project->Add->Existing files
- 使用
指令将它们链接到#pragma comment(lib,“libname.lib”)
- 在
项目属性->公共属性->框架和引用中添加引用
- 在链接器附加依赖项中添加它们(我已经检查了10次路径是否正确)
将
$(OutDir)
添加到库路径中很难猜测。但我看到一个名为“cppwrapper”的源文件。这使得你可能在包装C.写的东西,这可能使你不得不明确地告诉编译器这是C代码而不是C++代码。像这样:
extern "C" {
#include "foo.h"
}
剩下的两个屏幕快照在问题中发布代码,如下所示:?还是一样^^^是的。。。这样地。那么链接器的其他依赖项呢?嗯,但是lib中的函数被声明为extern“C”?然而,这不知怎么起了作用。后来LIBCMT.lib出现了一些问题,但我使用/NODEFAULTLIB解决了它。非常感谢:)刚才看到,即使我在函数本身中添加了extern“C”,它们的名称仍然被破坏了O
extern "C" {
#include "foo.h"
}