MacOS Qt上包含的SDL框架
我想用Qt编译一个SDL项目。我下载了SDL framework 1.2.15,下面是我的Qt项目文件:MacOS Qt上包含的SDL框架,qt,frameworks,sdl,Qt,Frameworks,Sdl,我想用Qt编译一个SDL项目。我下载了SDL framework 1.2.15,下面是我的Qt项目文件: TEMPLATE = app SOURCES += main.cpp OBJECTIVE_HEADERS += SDLMain.h OBJECTIVE_SOURCES += SDLMain.m LIBS += -framework Cocoa LIBS += -F/Library/Frameworks LIBS += -framework SDL 使用Qt 5.0.2编译时,一切正常,但使
TEMPLATE = app
SOURCES += main.cpp
OBJECTIVE_HEADERS += SDLMain.h
OBJECTIVE_SOURCES += SDLMain.m
LIBS += -framework Cocoa
LIBS += -F/Library/Frameworks
LIBS += -framework SDL
使用Qt 5.0.2编译时,一切正常,但使用Qt 5.1.0编译SDLMain.m时出现以下错误:
error: 'SDL/SDL.h' file not found
为什么Qt 5.1不能以与Qt 5.0.2相同的方式处理框架?我不知道为什么它以前可以工作,但让我们注意以下几点:
LIBS
只负责链接,而不负责编译INCLUDEPATH
,这不是必需的// The directory where some frameworks are installed. There must
// exist SDL.framework as a subdirectory of that directory.
// It's simply to avoid typing the path twice.
// It's a user variable, not interpreted by qmake
SDL = -F/Library/Frameworks
// Let the C/C++ compiler know where to find the frameworks.
// This is so that when you include <xyz/foo>, it'll be replaced
// by $$SDL/xyz.framework/Headers/foo
// $$var is replaced by qmake by the contents of var
QMAKE_CFLAGS += $$SDL
QMAKE_CXXFLAGS += $$SDL
// Since we compile some Objective C code, we need to set
// the flags there too.
QMAKE_OBJECTIVE_CFLAGS += $$SDL
QMAKE_OBJECTIVE_CXXFLAGS += $$SDL
// Let the linker know where to find the frameworks
LIBS += $$SDL
// Tell the linker that we want to use the SDL framework.
LIBS += -framework SDL
//安装某些框架的目录。一定有
//将SDL.framework作为该目录的子目录存在。
//这只是为了避免两次键入路径。
//它是一个用户变量,不由qmake解释
SDL=-F/库/框架
//让C/C++编译器知道在哪里可以找到框架。
//这样,当您包含时,它将被替换
//通过$$SDL/xyz.framework/Headers/foo
//$$var由qmake替换为var的内容
QMAKE_CFLAGS+=$$SDL
QMAKE_cxflags+=$$SDL
//因为我们编译了一些目标C代码,所以我们需要设置
//那里也有国旗。
QMAKE_OBJECTIVE_CFLAGS+=$$SDL
QMAKE_OBJECTIVE_CXXFLAGS+=$$SDL
//让链接器知道在哪里可以找到框架
LIBS+=$$SDL
//告诉链接器我们要使用SDL框架。
LIBS+=-frameworksdl
#include <SDL/SDL.h>
#包括
在你的源头