2013-04-30 100 views
0

我目前正在尝试交叉编译我写的C++代码,它在Linux上工作得非常好。使用mingw32和gmp交叉编译

我安装的mingw32,并汇编libgmp作为使用类似的东西,一个窗口库(.a)中:

./configure --prefix=/usr/i586-mingw32msvc/ --host=i586-mingw32msvc 

希望我这样做是正确的

我加了两个目录到我的项目INCS和库。在INCS我把.H报头(gmpxx.h),并在库我把libgmpxx.a和libgmp.a

我试图使用此生成的文件进行编译:

CPP=i586-mingw32msvc-g++ 
CPPSPECS= 
LDFLAGS=-I incs/ libs/ 
EXEC=ceyd++.exe 


all: $(EXEC) 

$(EXEC): base64.o polynome.o chiffre.o dechiffre.o ceyd.o 
    $(CPP) -o [email protected] $^ $(LDFLAGS) 

%.o: %.cpp 
    $(CPP) -o [email protected] -c $< $(CPPWARNINGS) $(CPPSPECS) 

clean: 
    rm -rf *.o 

mrproper: clean 
    rm -rf $(EXEC) 

予删除该警告部作为这里没有用。

当我运行make,它告诉我,没有gmpxx.h如发现....

是否有人有办法解决吗?力图在这一个...

回答

0

你的编译指示应指向头目录“INCS”它是不是:

$(CPP) -o [email protected] -c $< $(CPPWARNINGS) $(CPPSPECS) 

创建一个变量,如下所示:

CCFLAGS=-Iincs/ 

和修改你的编译指令:

$(CPP) -o [email protected] -c $< $(CPPWARNINGS) $(CPPSPECS) $(CCFLAGS) 

此外你的LDFLAGS变量看起来应该是这样的:

LDFLAGS=-Llibs/ -l... 

其中...表示您在libs /中链接的共享库的名称。如果您只有一个静态库(.a),请将其添加到您的链接指令中。

+0

它的工作,谢谢! – naingenieu 2013-04-30 16:31:20