/ / cross-compilation използвайки mingw32 и gmp - c ++, кръстосано компилиране, gmp, mingw32

кръстосана компилация, използваща mingw32 и gmp-c ++, кръстосано компилиране, gmp, mingw32

В момента се опитвам да компилирам c + + код, който написах, който работи отлично на Linux.

Инсталирах mingw32 и компилирах libgmp като Windows библиотека (.a), използвайки нещо подобно:

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

Надявам се, че го направих правилно

Добавих два директории към моя проект incs и libs. В incs сложих.

Опитах се да компилирам с този make-файл:

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 $@ $^ $(LDFLAGS)

%.o: %.cpp
$(CPP) -o $@ -c $< $(CPPWARNINGS) $(CPPSPECS)

clean:
rm -rf *.o

mrproper: clean
rm -rf $(EXEC)

Премахнах предупредителната част, тъй като тук не е полезно.

Когато стартирам make, той ми казва, че не е намерен gmpxx.h ....

Някой има ли решение? Опитах се с това ...

Отговори:

0 за отговор № 1

Директивата за компилиране трябва да сочи към директорията на заглавието "incs", която не е:

$(CPP) -o $@ -c $< $(CPPWARNINGS) $(CPPSPECS)

Създайте променлива, както следва:

CCFLAGS=-Iincs/

и модифицирайте директивата за компилация:

$(CPP) -o $@ -c $< $(CPPWARNINGS) $(CPPSPECS) $(CCFLAGS)

Освен това променливата на LDFLAGS трябва да изглежда така:

LDFLAGS=-Llibs/ -l...

Къде ... обозначава името на споделената библиотека, с която се свързвате в libs /.