Config: OSX 10.10.5 Xcode 7,0 SDL 1.2.15
Как воспроизвести:
Скопировал SDL.Framework в/Library/Frameworks, как описано на readme.txt
На Xcode Шаблон> Настройки Строительство> Framework Поиск пути в/Library/Frameworks
Я включил SDL рамки на файл main.cpp следующим образом:
< #include SDL/SDL.h >
Тогда я была такая же проблема loadi ng SDL Framework на XCODE из-за двойного объявления класса main, который блокировал компиляцию.
Это сообщение об ошибке:
Undefined symbols for architecture x86_64:
"_main", referenced from:
implicit entry/start for main executable
(maybe you meant: _SDL_main)
Это, как я ее решил:
я проверил и увидел, что SDL.h это включая все следующие файлы:
#include "SDL_main.h"
#include "SDL_stdinc.h"
#include "SDL_audio.h"
#include "SDL_cdrom.h"
#include "SDL_cpuinfo.h"
#include "SDL_endian.h"
#include "SDL_error.h"
#include "SDL_events.h"
#include "SDL_loadso.h"
#include "SDL_mutex.h"
#include "SDL_rwops.h"
#include "SDL_thread.h"
#include "SDL_timer.h"
#include "SDL_video.h"
#include "SDL_version.h"
#include "begin_code.h"
One из них - SDL_main.h, и по этому файлу мы видим:
#define main SDL_main
Эта строка создает конфликт с основным классом на main.cpp, комментируя эту строку на SDL_main.h или комментируя строку #include "SDL_main.h" на SDL.h, решая проблему. Я ноб на C++ (я просто узнал об этом в университете много лет назад), но с других языков я знаю, что «взломать» библиотеку - очень плохая практика ... хотя, похоже, это особая проблема совместимости с MAXOSX и я действительно хочу использовать XCODE ...
Пожалуйста, исправьте и прокомментируйте, оправдайте да или нет, поскольку я участвую в процессе обучения.
Cheers!
Благодарим вас за это! <3 <3 <3 –