- 论坛徽章:
- 3
|
大致是这样的 我要编译的代码A需要调用到很多MFC的内容,现在有一个实现好的可在linux下使用的MFC的包
我先把MFC的文件编译出两个动态库,比如:a.so b.so。然后存放在/home/MFC/bin目录下。
在编译代码A的时候,make文件里定义定义代码A的源文件目录DIR_A=“/home/test”,MFC的两个动态库的目录DIR_MFC=“/home/MFC/bin”
先是build 把A中的代码编出各种.o文件
然后在link的时候大致就像下面这行这样
g++ -g (编译宏) -o A.exe 各种.o文件 -L$(DIR_MFC) 。。。
在执行make文件时候build没问题 但是link时就报错各种undefined reference to XXX,XXX都是MFC里面定义的各种方法。
然后我如果把包含到方法在MFC中所在头文件和cpp文件给加到A的工作空间里并在make文件里也编译这些cpp文件就不报错了。
问题可能描述得比较凌乱,想问一下我如果要链接到那俩动态库的话我上面的写法是不是有错?
是只要-L$(DIR_MFC)呢还是需要-L$(DIR_MFC)/a.so -L$(DIR_MFC)/b.so还是另有写法?因为我改成后面那种写法的时候还是一样的报错。还有是不是可能是因为那俩动态库没编译好的原因造成这样报错呢? |
|