Jetzt kann ich mithilfe der bereitgestellten Make-Datei erfolgreich kompilieren. Jetzt möchte ich das Projekt in eine DLL-Datei kompilieren. Wie muss ich die Make-Datei ändern?
Die Make-Datei lautet:
default: all
# -------------------------------------------------------------------
# Change the path to Z3 4.1.1 accordingly
# The directory indicated by this path should contain "lib" and "bin"
# e.g. "/home/z3_src_4.1.1"
# "/home/work/tool/z3/z3_src_4.1.1"
# -------------------------------------------------------------------
Z3_path = ../z3
JUNK = S3
SOURCE = strTheory.cpp testMain.cpp
INCLUDE = $(Z3_path)/lib
LIB = $(Z3_path)/bin/external
all: $(SOURCE)
g++ -std=c++14 -O3 -fopenmp -static -I$(INCLUDE) -L$(LIB) $(SOURCE) -lz3 -lrt -o S3 -Wall
@echo ""
clean:
rm -f $(JUNK)
Antwort1
Aus Ihrem Kommentar schließe ich, dass Sie fragen nach
- Cross-Kompilierung für Windows
Dies ist ein völlig anderes Thema. Es erfordert mehr als nur das Ändern Ihres Makefiles. Diese Frage wurde jedoch schon einmal gestellt:
- Wie programmiert man für Windows in Ubuntu?
- Ist es möglich, in Ubuntu Programme für andere Betriebssysteme zu schreiben?
- Cross-Kompilierung mit Clang unter Verwendung von Mingw(noch keine Antworten)
- Was ist das /opt/mingw64 /opt/mingw32-Äquivalent für Ubuntu
Wenn Ihr Projekt in C oder C++ ist, können Sie verwendenMinGWTools und die gleiche Art von Linux-basierten Kompiliertools, die gcc/g++ verwenden. Sie können MinGW wie folgt installieren:
sudo apt-get install gcc-mingw32
Ich schlage vor, dass Sie studierendiese Anleitung zum Cross-Compilieren von Qt/Win32 mit MinGW-Tools.
Wenn Ihr Projekt hauptsächlich für C# ist, sind Sie möglicherweise besser dran mitMonoDevelop. Von ihrer Website:
Mit MonoDevelop können Entwickler schnell Desktop- und Webanwendungen unter Linux, Windows und Mac OS X schreiben. Darüber hinaus können Entwickler mit Visual Studio erstellte .NET-Anwendungen problemlos auf Linux und Mac OS X portieren und dabei eine einheitliche Codebasis für alle Plattformen beibehalten.