【发布时间】:2015-06-12 13:01:07
【问题描述】:
我有一个使用 C 编程语言的 Eclipse 项目。自两天以来,我一直遇到与链接器错误相关的问题。我检查了各种论坛以找到解决方案。尝试了很多建议,但无法解决。所以作为最后的手段,我在这里问问题。我的主程序 MotorRun.c 具有调用静态库 FtMscLib_Static_LIBCMT_Release.Lib 中的函数的代码,该库位于路径 C:\FT-Project\Common\Libs 的 Libs 文件夹中。我正在使用 MinGW gcc 编译器。
当我运行 makefile 时,它会产生错误:
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.9.1/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lC:\FT-Project\Common\Libs\FtMscLib_Static_LIBCMT_Release.Lib
collect2.exe: error: ld returned 1 exit status
makefile运行的代码是
gcc "-LC:\\FT-Project\\Common\\Libs" -shared -o libRoboCopMinGW.exe "src\\MotorRun.o" "-lC:\\FT-Project\\Common\\Libs\\FtMscLib_Static_LIBCMT_Release.Lib"
通过查看执行代码,我们可以看到路径和库名称已正确设置,但链接器无法找到它,因此它可以将库与我的 MotorRun.o 目标文件链接。希望有人可以帮助我找到解决方案。 MotorRun.c 程序是一个非常简单的程序,所以我不在这里发布它。但如有必要,我可以稍后更新。提前致谢!
【问题讨论】:
-
好的,如果你做了revert my edit,那很好,但至少让问题再次可读。谢谢。
-
您应该运行 gcc 命令并添加
-v。里面可能有线索。 -
@SouravGhosh。对不起,如果它不可读。我尽力把它写清楚。我是这里的新手。
标签: c gcc linker linker-errors linker-scripts