使用cygwin和gcc创建.dll而不指定库

时间:2015-11-10 19:34:44

标签: c++ windows gcc cygwin shared-libraries

考虑我想从我的C ++文件foo.cpp构建一个共享库。该文件依赖于各种库,例如a b c,即-la -lb -lc。在linux下,我可以通过以下调用来执行此操作:

g++ -shared -o foo.so foo.cpp

请注意,我不必在此指定-la -lb -lc。链接器只是忽略所有未解析的符号。

当我在cygwin环境中的Windows下尝试相同的事情时,我收到链接器错误,告诉我来自库a bc的符号未找到。我不得不在命令中添加-la -lb -lc

g++ -shared -o foo.dll foo.cpp -la -lb -lc

然而,这会起作用,因为必须读取库的符号表,这会大大减慢过程。如何使用cygwin构建.dll而不必指定我需要的库,即如何使cygwin g++执行与linux g++相同的操作。

0 个答案:

没有答案