静态库在代码块项目中不起作用
static lib not working in codeblocks project
我从头开始构建了我自己的 assimp 版本作为静态库,因为库中提供的 makelist 文件是完全有用的。我花了大约一周的时间,但最后我能够毫无错误地构建库,并创建了 assimp.a。下一步是在我自己的项目中使用这个库。我选择了一个控制台 C++ 项目。我完全按照 here 描述的步骤将库包含到我的项目中,但是当我尝试编译时收到此错误消息:
||=== Build: Release in myproject (compiler: GNU GCC Compiler) ===|
ld.exe||cannot find -lassimp.a|
||error: ld returned 1 exit status|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|
这里是构建日志:
mingw32-g++.exe -Lassimp -o bin\Release\myproject.exe obj\Release\main.o -m32 -s -m32 -m32 -lassimp.a
C:/Program Files (x86)/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/4.9.2/../../../../mingw32/bin/ld.exe: cannot find -lassimp.a
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 1 second(s))
2 error(s), 0 warning(s) (0 minute(s), 1 second(s))
目前我的项目只是一个简单的 hello world,由 Codeblocks 创建。我没有从 lib 添加一行到那个项目,甚至没有 #include。
老实说,我不知道确切原因,但问题是因为我将 assimp 文件夹和 assimp.a 文件放到了我的项目文件夹中。将 assimp 文件夹和 assimp.a 文件放到我的项目文件夹外的其他文件夹中解决了这个问题。几年前我遇到了一些动态库的类似问题,解决方案是一样的,把它放在项目文件夹之外。
我从头开始构建了我自己的 assimp 版本作为静态库,因为库中提供的 makelist 文件是完全有用的。我花了大约一周的时间,但最后我能够毫无错误地构建库,并创建了 assimp.a。下一步是在我自己的项目中使用这个库。我选择了一个控制台 C++ 项目。我完全按照 here 描述的步骤将库包含到我的项目中,但是当我尝试编译时收到此错误消息:
||=== Build: Release in myproject (compiler: GNU GCC Compiler) ===|
ld.exe||cannot find -lassimp.a|
||error: ld returned 1 exit status|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|
这里是构建日志:
mingw32-g++.exe -Lassimp -o bin\Release\myproject.exe obj\Release\main.o -m32 -s -m32 -m32 -lassimp.a
C:/Program Files (x86)/CodeBlocks/MinGW/bin/../lib/gcc/mingw32/4.9.2/../../../../mingw32/bin/ld.exe: cannot find -lassimp.a
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 1 second(s))
2 error(s), 0 warning(s) (0 minute(s), 1 second(s))
目前我的项目只是一个简单的 hello world,由 Codeblocks 创建。我没有从 lib 添加一行到那个项目,甚至没有 #include。
老实说,我不知道确切原因,但问题是因为我将 assimp 文件夹和 assimp.a 文件放到了我的项目文件夹中。将 assimp 文件夹和 assimp.a 文件放到我的项目文件夹外的其他文件夹中解决了这个问题。几年前我遇到了一些动态库的类似问题,解决方案是一样的,把它放在项目文件夹之外。