2016-10-05 65 views
0

我试图编译libsigC++ 2.9.3以使用它在ubuntu上使用mingw编译其他窗口软件,并且在尝试访问时遇到链接器错误使它:在Linux上使用mingw时未定义引用`__imp_ *`

libtool: link: /usr/bin/x86_64-w64-mingw32-g++ -shared -nostdlib /usr/lib/gcc/x86_64-w64-mingw32/4.9-win32/../../../../x86_64-w64-mingw32/lib/dllcrt2.o /usr/lib/gcc/x86_64-w64-mingw32/4.9-win32/../../../../x86_64-w64-mingw32/lib/crtbegin.o .libs/signal_base.o .libs/trackable.o .libs/connection.o functors/.libs/slot_base.o adaptors/lambda/.libs/lambda.o -L/usr/lib/gcc/x86_64-w64-mingw32/4.9-win32 -L/usr/lib/gcc/x86_64-w64-mingw32/4.9-win32/../../../../x86_64-w64-mingw32/lib -lstdc++ -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt /usr/lib/gcc/x86_64-w64-mingw32/4.9-win32/../../../../x86_64-w64-mingw32/lib/crtend.o -g3 -gdwarf-2 -Wl,-soname -Wl,libsigc-2.0.so.0 -o .libs/libsigc-2.0.so.0.0.0 
/usr/lib/gcc/x86_64-w64-mingw32/4.9-win32/../../../../x86_64-w64-mingw32/lib/libmingw32.a(lib64_libmingw32_a-gs_support.o): In function `__security_init_cookie': /build/buildd/mingw-w64-4.0.2/build/x86_64-w64-mingw32-x86_64-w64-mingw32-crt/../../mingw-w64-crt/crt/gs_support.c:62: undefined reference to `__imp_GetSystemTimeAsFileTime' 
/build/buildd/mingw-w64-4.0.2/build/x86_64-w64-mingw32-x86_64-w64-mingw32-crt/../../mingw-w64-crt/crt/gs_support.c:70: undefined reference to `__imp_GetCurrentProcessId' 
(...) 

如何解决此链接器错误,最好不需要修复源代码或生成文件?

+0

您是否试图链接到使用Visual Studio编译的库,也许?我知道'__imp_'被MSVS用来表示一个函数是'DLLImport'(它在声明中编码'__declspec(dllimport)'),所以它可能与此有关。 –

+0

你可能会发现一个可能的解决方法[这里](https://sourceforge.net/p/mingw-w64/discussion/723797/thread/c0c90b27/),它似乎是一个类似的情况。不知道它是否完全相同,但可能有帮助。 –

回答

0

这告诉我你错过了某种标准库,但我不知道是哪一个。鉴于这是MinGW,我认为你需要首先检查./configure的信息--help。

相关问题