Agora posso compilar com sucesso usando o arquivo make fornecido, agora quero compilar o projeto em um arquivo dll, como devo modificar o arquivo make?
O arquivo make é:
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)
Responder1
Pelo seu comentário, presumo que você esteja perguntando sobre
- Compilação cruzada para Windows
Este é um assunto totalmente diferente. Requer mais do que apenas alterar seu makefile. No entanto, esta pergunta já foi feita antes:
- Como programar para Windows no Ubuntu?
- É possível escrever programas para outros sistemas operacionais no Ubuntu?
- compilação cruzada com clang usando mingw(sem respostas ainda)
- Qual é o equivalente /opt/mingw64 /opt/mingw32 para Ubuntu
Se o seu projeto estiver em C ou C++ você pode usarMinGWferramentas e o mesmo tipo de ferramentas de compilação baseadas em Linux que usam gcc/g++. Você pode instalar o MinGW assim:
sudo apt-get install gcc-mingw32
Eu sugiro que você estudeeste guia para compilação cruzada qt/win32 usando ferramentas MinGW.
Se o seu projeto for principalmente para C#, talvez seja melhor usarMonoDesenvolvimento. Do site deles:
O MonoDevelop permite que os desenvolvedores escrevam rapidamente aplicativos de desktop e da Web em Linux, Windows e Mac OS X. Também facilita aos desenvolvedores a portabilidade de aplicativos .NET criados com Visual Studio para Linux e Mac OS X, mantendo uma única base de código para todas as plataformas.