C++ 项目参考和第三方库
我有一个关于VS2010的两个项目的解决方案 主项目引用并依赖于作为静态库构建的第二个项目。第二个使用静态第三方库,该库不是在解决方案中生成的,而是仅在第二个项目的链接器设置中引用 如果我尝试生成解决方案,VS将失败并指示他没有找到第三方库。我不明白为什么,因为第二个项目编译的静态库足够大,似乎“包含”了第三方库 到目前为止,我只看到两种解决我的问题的方法,我宁愿避免:C++ 项目参考和第三方库,c++,visual-studio-2010,static-libraries,C++,Visual Studio 2010,Static Libraries,我有一个关于VS2010的两个项目的解决方案 主项目引用并依赖于作为静态库构建的第二个项目。第二个使用静态第三方库,该库不是在解决方案中生成的,而是仅在第二个项目的链接器设置中引用 如果我尝试生成解决方案,VS将失败并指示他没有找到第三方库。我不明白为什么,因为第二个项目编译的静态库足够大,似乎“包含”了第三方库 到目前为止,我只看到两种解决我的问题的方法,我宁愿避免: 将第三方库添加到主项目的链接器设置中 在我的解决方案中包含整个第三方库,并使用 还有其他办法解决这个问题吗 编辑:编译主项目时
Searching ..\MyAppConfig\Bin\Win32\Release\MyAppConfig.lib :
"public: static void __cdecl ConfigWindow::Open(void)" (?Open@ConfigWindow@@SAXXZ) found
Referenced in main.obj
Loaded MyAppConfig.lib(configWindow.obj)
/DEFAULTLIB:wxbase29u processed
/DEFAULTLIB:wxbase29u_net processed
/DEFAULTLIB:wxbase29u_xml processed
/DEFAULTLIB:wxregexu processed
/DEFAULTLIB:wxexpat processed
/DEFAULTLIB:wxjpeg processed
/DEFAULTLIB:wxpng processed
/DEFAULTLIB:wxtiff processed
/DEFAULTLIB:wxzlib processed
...
...
LINK : fatal error LNK1104: cannot open file 'wxbase29u.lib'
有趣的是,我甚至没有使用Project2中的其他wxWidgets库,但visual studio似乎正在搜索所有这些库://以下是您应该如何设置项目: 项目1(主要) 项目2
Additional dependencies: ThirdParty.lib
构建顺序:项目2->项目1
如果您的项目是这样设置的,并且没有链接,那么这就意味着库的路径设置不正确(在“附加包含目录”下)。因此,只需确保正确设置了项目的其他依赖项,并且include目录指向所需库所在的位置。您可能希望将一些编译器和链接器输出以及正在链接的3个组件的名称放在此处-这可能有助于引出更好的解决方案:)VS fails什么时候建主项目还是第二个项目?@Lanaru:对不起,我忘了that@w00te我不知道这些名称是否有用,但我会尽量更明确:)如果主项目未使用wxbase29u.lib,请将其从主项目中的其他依赖项中删除。如果主项目使用它,请确保您指向“additional include directories”中的正确目录,谢谢提示!不幸的是,这个设置给了我同样的结果(几乎和我一样,只是链接Project2.lib,而不是在引用中添加Project2)。另外:我试图从Project1 lib依赖项中删除Project2.lib,然后它只是要求Project2未解析的符号(这是正确的)。如果我重新添加Project2.lib,它会再次请求ThirdParty.lib。。。
Additional dependencies: ThirdParty.lib