现在我可以使用提供的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。但是,这个问题之前已经有人问过:
- 如何在 Ubuntu 中为 Windows 编程?
- 可以在 Ubuntu 中编写其他操作系统的程序吗?
- 使用 mingw 与 clang 进行交叉编译(尚无答案)
- Ubuntu 的 /opt/mingw64 /opt/mingw32 等效于什么
如果你的项目使用 C 或 C++,则可以使用明网工具和使用 gcc/g++ 的同类基于 Linux 的编译工具。您可以像这样安装 MinGW:
sudo apt-get install gcc-mingw32
我建议你学习本指南介绍了如何使用 MinGW 工具进行 qt/win32 交叉编译。
如果你的项目主要使用 C#,那么你最好使用MonoDevelop摘自他们的网站:
MonoDevelop 使开发人员能够在 Linux、Windows 和 Mac OS X 上快速编写桌面和 Web 应用程序。它还使开发人员可以轻松地将使用 Visual Studio 创建的 .NET 应用程序移植到 Linux 和 Mac OS X,从而为所有平台维护单一代码库。