我有一个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'...
答案 0 :(得分:3)
如果您在Windows上使用g ++进行编译,我猜您正在使用MinGW:MinGW依赖于.a库。使用“-l”选项时,编译器正在查找扩展名为.a。
的库文件.lib格式的库使用visual studio编译:您不能将其用作此类。如果您有源代码或者考虑将项目迁移到visual studio,请使用MinGW编译库。
答案 1 :(得分:0)
所以问题是在VS中编译的lib文件。我不得不使用VS编译器而不是g ++,一切正常。