visual studio 2010 - c++项目编译和链接
visual studio 2010 - C++ Project Compiles and Links w/ Missing Library
我正在Visual Studio 2010中构建一个名为ITPP的开源c++库。它成功地构建了,所以我试着构建测试程序,为了尝试它。我在测试程序中得到链接错误,说我建立的第一个库有一些链接错误,因为它找不到一些函数。
我想我知道遗漏了什么库,但好像VS不在乎。
什么是可能的原因,当我建立库直接链接正确,但当我试图使用它的IDE说,我建立的库有链接错误?
谢谢,
mj
-
测试应用程序是否正确设置了对lib的依赖?您是否已将新库所在的目录添加到Visual studio搜索路径中?(工具->选项->项目和解决方案-> vc++目录)。测试应用程序是否在链接器"附加依赖项"选项下列出库(检查项目属性->链接器->输入->附加依赖项)。或者,如果测试应用处于相同的解决方案中,在测试应用的"项目依赖项"下,是在依赖项下列出的lib项目。
-
.lib是一个导入库到dll吗?导入库只是dll的前端。它使您的dll/exe在启动时自动加载dll,并在退出时将dll删除。它还为dll中的所有符号提供了一个静态前端。可能发生的问题包括如果dll中的符号没有导出,因此没有放在导入库中,导致链接器错误。
-
在visual studio中,是与测试exe位于同一路径的旧版本。lib。这种情况有时会发生在我身上,当我在我的项目中有。lib,我已经将它设置为复制到多个项目中所有常用库存在的某个位置。有时我会在测试应用程序的相同解决方案中构建.libs项目。其他时候我会在测试应用程序之外构建它。当你在解决方案中构建它时,lib会被复制到与测试可执行文件相同的目录中。
-
在链接器的搜索路径上是否有一个旧的lib副本?
-
如果所有这些都失败打开详细链接,如下所示。查看visual studio从哪里导入lib,看看它是否符合您的期望。
即使其中引用的一些符号(函数/变量)不可用,也会生成静态库。当您尝试构建DLL或EXE时,然后所有引用的符号必须可用-因此您得到的错误表明这些符号确实缺失,并且您的库或任何其他库/源都没有提供它。
- Visual Studio 2017 ARM 交叉编译链接器崩溃
- CGAL 编译/链接器错误
- opencv 3.0 Visual Studio Community 2017 编译链接错误
- 在 Linux 中编译/链接多个 C++ 库
- 加速极慢的 MinGW-w64 编译/链接?
- Xcode - 如何使用"-fexhaustive-register-search"进行编译 - 链接器崩溃需要
- 交叉编译:链接时对std::__atomic_futex_unsigned_base::_M_futex_notify_
- 无法从单独的.cpp使用模板化成员编译/链接类
- 交叉编译链接器错误
- Eclipse C/C++:外部库的交叉编译链接器错误:Ubuntu VM amd64 to Ubuntu armhf
- 编译/链接 C 和 C++ 文件时出现问题
- C++编译链接
- 如何正确编译/链接Linux Makefile中的单元测试
- 在以下程序中获取编译链接错误
- 与Boost日志进行交叉编译链接期间未解决的符号
- 如何编译/链接Boost与clang++/libc++
- Cef项目编译链接error2001
- 我如何编译/链接测试用例(googleTest)使用cmake的代码捆绑在共享库
- 编译链接
- 编译/链接过程是如何工作的