[英]How to build a cross-platform C++ library in Windows and Linux
我是 Linux 用戶,也是 C++ 的初學者。 我正在開發一個具有以下結構的小型庫
在 Linux 中,我通常使用 gcc 編譯 C++,當我有多個依賴項時,我使用 make 和 makefile。 在當前案例的下方
CXX = g++
CXXFLAGS = -g -Wall
DLIBS = -lm -lgsl -lgslcblas -lgmp -lquadmath
DEPS = ../../include
TEST1 = ../../output/test1
TEST2 = ../../output/test2
TEST3 = ../../output/test3
vpath %.h $(DEPS)
main: *.cpp $(DEPS)/*.h $(TEST1)/*.h
g++ $(CXXFLAGS) -I $(DEPS) -I $(TEST1) *.cpp -o main $(DLIBS)
all: test1 test2 test3
test1: *.cpp $(DEPS)/*.h $(TEST1)/*.h
g++ $(CXXFLAGS) -I $(DEPS) -I $(TEST1) *.cpp -o main $(DLIBS)
./main test1
test2: *.cpp $(DEPS)/*.h $(TEST2)/*.h
g++ $(CXXFLAGS) -I $(DEPS) -I $(TEST2) *.cpp -o main $(DLIBS)
./main test2
test3: *.cpp $(DEPS)/*.h $(TEST3)/*.h
g++ $(CXXFLAGS) -I $(DEPS) -I $(TEST3) *.cpp -o main $(DLIBS)
./main test3
clean:
rm -f main
我現在必須使我的庫跨平台並且能夠在 Windows 上編譯和運行。
理想情況下,我想保留相同的結構,並可能添加一個包含linux和win子文件夾的構建文件夾,前者具有上述生成文件。 但是我不確定如何在 Windows 上編譯它。
在 Windows 中是否有等效項? 我應該將 MSVC 與 MinGW 一起使用嗎? 關於靈活可移植性和交叉編譯的最佳方法的任何幫助或建議?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.