Gcc 如何在linux中链接.lib库
我对c编程相当陌生,希望将windows c应用程序移植到linux。我的代码使用一个.lib文件Gcc 如何在linux中链接.lib库,gcc,Gcc,我对c编程相当陌生,希望将windows c应用程序移植到linux。我的代码使用一个.lib文件va_g729.lib——是否可以在Linux中使用同一个库并用gcc编译它 我所有的.c和.h文件以及一个.lib文件都在同一个目录中。我现在要做的是在目录中执行以下命令: gcc *.c -lm 我得到了以下错误: lbcodec2.c:(.text+0xa6b): undefined reference to `va_g729a_init_encoder' lbcodec2.c:(.text
va_g729.lib
——是否可以在Linux中使用同一个库并用gcc编译它
我所有的.c
和.h
文件以及一个.lib
文件都在同一个目录中。我现在要做的是在目录中执行以下命令:
gcc *.c -lm
我得到了以下错误:
lbcodec2.c:(.text+0xa6b): undefined reference to `va_g729a_init_encoder'
lbcodec2.c:(.text+0xa83): undefined reference to `va_g729a_encoder'
collect2: error: ld returned 1 exit status
是否可以链接.lib
文件并使用gcc编译
谢谢
gcc *.c -lm -lYourFile.lib -o yourExecutable
您可能需要显式链接.lib文件。似乎我们无法编译
.lib
文件。我必须从源代码为linux编译一个.a
文件。该.lib
文件在我的工作目录中,gcc找不到它。我试图用:gcc*.c-lm-lva_g729.lib-L/home/shantanu/workspace/ConverterTest/src明确提到路径,但gcc仍然找不到并说:/usr/bin/ld:cannot find-lva_g729.lib collect2:error:ld返回了1个退出状态lib
文件似乎是特定于Windows的。在Linux上,静态库是.a
,共享库是。或者我错了。