В момента се опитвам да компилирам 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 /.