Как скомпилировать c++ в файл Dll в Ubuntu

Как скомпилировать c++ в файл Dll в Ubuntu

Теперь я могу успешно скомпилировать проект, используя предоставленный 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. Однако этот вопрос уже задавался:

Если ваш проект написан на 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, сохраняя единую кодовую базу для всех платформ.

Связанный контент