在Windows 7上链接.lib文件 我有一个C++程序测试。CPP和我想把两个.LIB文件链接到它(FHLIB LIB和GCYLIB .LIB)。我在.MIP程序的同一个文件夹中有.LIB文件。我在Windows7上

在Windows 7上链接.lib文件 我有一个C++程序测试。CPP和我想把两个.LIB文件链接到它(FHLIB LIB和GCYLIB .LIB)。我在.MIP程序的同一个文件夹中有.LIB文件。我在Windows7上,c++,windows,path,g++,C++,Windows,Path,G++,到目前为止,我尝试了以下几点: g++ -o main main.cpp -L/Users\Documents\Visual Studio 2015\Projects\My Project -lfhlib 但我有一个 No such file or directory error. 我确信路径是正确的,因为我从属性->位置复制了它。但我必须删除“C:\”,因为它不是编译 编辑:我找到了这个 所以我试着用 "-I" instead of "-l" 但仍然不起作用。我得到: undefined

到目前为止,我尝试了以下几点:

g++ -o main main.cpp -L/Users\Documents\Visual Studio 2015\Projects\My Project -lfhlib
但我有一个

No such file or directory error.
我确信路径是正确的,因为我从属性->位置复制了它。但我必须删除“C:\”,因为它不是编译

编辑:我找到了这个

所以我试着用

"-I" instead of "-l"
但仍然不起作用。我得到:

undefined reference to 'fh_set'...

如果您在windows上使用g++进行编译,我猜您使用的是MinGW:MinGW依赖于.a库。使用“-l”选项时,编译器将查找扩展名为.a的库文件


格式为.lib的库是用visual studio编译的:不能这样使用它。如果你有源码或者考虑将你的项目迁移到VisualStudio.

,那么编译你的库,问题是在VS中编译的LIB文件,而我必须使用VS编译器而不是G++,所有的工作都很好。

我已经在VS中有了我的项目,并且可以在那里执行。但是现在我想使用os.systems(“g++-o…”)从Python接口执行。我无法使用g++或gcc链接它们?您所说的源.dll文件是什么意思?如果您的库使用纯C,则可以通过将路径传递到.lib:
g++-o main.cpp“C:/Users/Documents/Visual Studio 2015/Projects/My Project/fhlib.lib”
(注意我使用引号是因为路径中有空格,用“/”代替“\”,以避免对特殊字符的误解)如果你的库使用C++,编译器之间没有二进制兼容性,所以它不应该WordkOnt不起作用。我得到了“FHYSET”的未定义的引用……我可以把它们链接到蛋糕文件中,然后执行OS系统(“制作”)吗??显然,MinGW现在也支持.lib文件。MinGW支持这些文件已有多年。正如我所说,如果g++发现你的.lib二进制文件兼容,它可以使用它。但它可能不会。试试看:如果它有效,你就很好。否则,除了用相同的编译器编译所有源代码,
-I
选项用于包含路径