我正在运行Mac OSX 10.8.5的2012 MacBook pro上使用c ++中的FLTK构建项目,并使用命令行中的i686-apple-darwin11-llvm-g ++ - 4.2进行编译。
理想情况下,我想在Windows中交叉编译而不在Windows中学习VS,安装所有依赖项等。所以我对从mac交叉编译windows感兴趣。
我找到了这个http://crossgcc.rts-software.org/doku.php?id=start并下载了一个自动安装的软件包。然后我下载了示例源代码以查看它是否有效,它只是给了我一堆错误。
查看make文件,它指的是我根本没有的目录。例如,提供的make文件读取
#------------------------------------------------------------------------------*
# *
# C + + H E L L O W O R L D F O R M I N G W 3 2 O N M A C O S X *
# *
# Updated for Release 2 *
# *
#------------------------------------------------------------------------------*
TOOL_DIR := /usr/local/i386-mingw32-3.4.5/bin
SOURCES := hello_world.cpp
OBJECTS_DIR := objects
EXECUTABLE := hello_world_in_cpp.exe
ALL_OBJECT_FILES := $(patsubst %, $(OBJECTS_DIR)/%.o, $(SOURCES))
all:$(OBJECTS_DIR) $(EXECUTABLE)
#--- Make object dir
$(OBJECTS_DIR):
mkdir $(OBJECTS_DIR)
#--- C++ compile : use gcc
$(OBJECTS_DIR)/%.cpp.o:%.cpp
$(TOOL_DIR)/i386-mingw32-gcc -c $< -o $@
#--- C++ link : use g++
$(EXECUTABLE):$(ALL_OBJECT_FILES)
$(TOOL_DIR)/i386-mingw32-g++ $< -o $@
$(TOOL_DIR)/i386-mingw32-strip --strip-all $@
clean:
rm -f $(EXECUTABLE)
rm -Rf $(OBJECTS_DIR)/
查看我/ usr /目录中的内容(包括其他内容)
/usr/local/gcc-4.8.0-qt-4.8.4-for-mingw32
contents.txt
win32-gcc/
bin/
i586-mingw32-g++
i586-mingw32-gcc
i586-mingw32/
bin/
g++
gcc
win32-qt/
通过反复试验我只是从命令行运行
/usr/local/gcc-4.8.0-qt-4.8.4-for-mingw32/win32-gcc/bin/i586-mingw32-g++ hello_world.cpp
捆绑的示例源代码,至少可以编译并生成'a.exe'。
我认为这就是我应该做的事情?但我不确定。
接下来我需要编译我的FLTK项目。按照惯例进行编译,但用/usr/local/gcc-4.8.0-qt-4.8.4-for-mingw32/win32-gcc/bin/i586-mingw32-g++
替换g ++要做到这一点,我使用fltk-config脚本基本上是等于使用命令进行编译
g++ -I/usr/local/include -I/usr/local/include/FL/images -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_THREAD_SAFE -D_REENTRANT
/usr/local/lib/libfltk_images.a /usr/local/lib/libfltk_png.a -lz /usr/local/lib/libfltk_jpeg.a /usr/local/lib/libfltk_gl.a-framework AGL -framework OpenGL -framework ApplicationServices /usr/local/lib/libfltk_forms.a /usr/local/lib/libfltk.a -lpthread -framework Cocoa main.cpp -o go
除了上面的内容,我还链接到一些静态的.a库。
然而,当我使用i586-mingw32-g ++编译器执行上述操作时,我发现以下错误,并且不知道如何绕过它们(如果确实可能的话)
i586-mingw32-g++: error: AGL: No such file or directory
i586-mingw32-g++: error: OpenGL: No such file or directory
i586-mingw32-g++: error: ApplicationServices: No such file or directory
i586-mingw32-g++: error: Cocoa: No such file or directory
i586-mingw32-g++: error: unrecognized command line option ‘-framework’
i586-mingw32-g++: error: unrecognized command line option ‘-framework’
i586-mingw32-g++: error: unrecognized command line option ‘-framework’
i586-mingw32-g++: error: unrecognized command line option ‘-framework’
有什么想法吗?提前谢谢。