Теперь я могу успешно скомпилировать проект, используя предоставленный make-файл. Теперь я хочу скомпилировать проект в dll-файл. Как мне изменить 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)
решение1
Из вашего комментария я предполагаю, что вы спрашиваете о
- Кросс-компиляция для Windows
Это совсем другая тема. Это требует большего, чем просто изменение вашего makefile. Однако этот вопрос уже задавался:
- Как программировать для Windows в Ubuntu?
- Можно ли писать программы для других ОС в Ubuntu?
- кросс-компиляция с помощью clang с использованием mingw(ответов пока нет)
- Какой эквивалент /opt/mingw64 /opt/mingw32 для Ubuntu?
Если ваш проект написан на C или C++, вы можете использоватьМинГВинструменты и те же инструменты компиляции на основе Linux, которые используют gcc/g++. Вы можете установить MinGW следующим образом:
sudo apt-get install gcc-mingw32
Я предлагаю вам изучитьэто руководство по кросс-компиляции qt/win32 с использованием инструментов MinGW.
Если ваш проект в основном написан на C#, вам может подойтиMonoDevelop. С их сайта:
MonoDevelop позволяет разработчикам быстро писать настольные и веб-приложения для Linux, Windows и Mac OS X. Он также упрощает для разработчиков перенос приложений .NET, созданных в Visual Studio, на Linux и Mac OS X, сохраняя единую кодовую базу для всех платформ.