使用的是如下编译方式
gcc -fpic -shared -o libDll.so DLL.c -L. -MWIC.so
然后有一个测试程序调用这个libDll.so,
采用如下的编译方式会提示 无法识别的命令行选项"-MWIC"
gcc -o test.o test.c -libDll.so -MWIC.so
如果去掉后面两个动态库的"-" 会提示 MWIC.so: could not read symbols: File in wrong format
如果采用下面这种编译方式, 就会有一堆未定义
gcc -o test.o test.c libDll.so
5 个解决方案
#1
为什么 不按 gcc 的规则做
#2
gcc的规则?我就是按照网上的方法再做.
刚开始接触GCC
刚开始接触GCC
#3
能帮我指出哪错了吗?
#4
比如你有 libMWIC.so
就用-l-MWIC
如果没有,就做个libMWIC.so软链接向MWIC.so
就用-l-MWIC
如果没有,就做个libMWIC.so软链接向MWIC.so
#5
gcc -o test.o test.c -lDll.so -lMWIC.so
so 的文件名要求 libDll.so libMWIC.so ,可以是软链接
#1
为什么 不按 gcc 的规则做
#2
gcc的规则?我就是按照网上的方法再做.
刚开始接触GCC
刚开始接触GCC
#3
为什么 不按 gcc 的规则做
能帮我指出哪错了吗?
#4
比如你有 libMWIC.so
就用-l-MWIC
如果没有,就做个libMWIC.so软链接向MWIC.so
就用-l-MWIC
如果没有,就做个libMWIC.so软链接向MWIC.so
#5
为什么 不按 gcc 的规则做
能帮我指出哪错了吗?
gcc -o test.o test.c -lDll.so -lMWIC.so
so 的文件名要求 libDll.so libMWIC.so ,可以是软链接