我有一个 C++ 程序 test.cpp,我想将两个 .lib 文件链接到它(fhlib.lib 和 gc_lib.lib)。我的 .lib 文件与我的 .cpp 程序位于同一文件夹中。我在 Windows 7 上。
到目前为止我尝试过的是:
g++ -o main main.cpp -L/Users\Documents\Visual Studio 2015\Projects\My Project -lfhlib
但是我得到了一个
No such file or directory error.
我确定路径是正确的,因为我是从 Properties->Location 复制的。但我确实删除了“C:\”,因为它没有编译。
编辑:我找到了这个 http://www.mingw.org/wiki/Specify_the_libraries_for_the_linker_to_use .
所以我尝试使用
"-I" instead of "-l"
但还是不行。我明白了:
undefined reference to 'fh_set'...
最佳答案
如果您在 Windows 上使用 g++ 进行编译,我猜您正在使用 MinGW:MinGW 依赖于 .a 库。使用“-l”选项时,编译器正在寻找扩展名为.a 的库文件。
.lib 格式的库是用 visual studio 编译的:你不能像这样使用它。如果您有源代码或考虑将您的项目迁移到 Visual Studio,请使用 MinGW 编译您的库。
关于c++ - 在 Windows 7 上链接 .lib 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38584344/