Как указать -D__MACOSX_CORE__ в XCode - PullRequest
3 голосов
/ 05 февраля 2012

Я работаю над проектом, который использует RtMidi (http://www.music.mcgill.ca/~gary/rtmidi/).. Я могу скомпилировать примеры кодов в терминале, используя следующую команду.

g++ -Wall -D__MACOSX_CORE__ -o midiprobe midiprobe.cpp RtMidi.cpp \
    -framework CoreMidi -framework CoreAudio -framework CoreFoundation

Однако мне нужно использовать коды вXCode. Я добавил три фреймворка CoreMidi, CoreAudio и CoreFoundation, но я не знаю, что делать с -D__MACOSX_CORE __.

Ошибки:

Undefined symbols for architecture x86_64:   "vtable for RtMidiIn",
referenced from:
       RtMidiIn::RtMidiIn(std::string, unsigned int) in RtMidi.o   "RtMidiIn::initialize(std::string const&)", 
referenced from:
       RtMidiIn::RtMidiIn(std::string, unsigned int) in RtMidi.o   "vtable for RtMidiOut",
referenced from:
       RtMidiOut::RtMidiOut(std::string) in RtMidi.o   "RtMidiOut::initialize(std::string const&)",
referenced from:
       RtMidiOut::RtMidiOut(std::string) in RtMidi.o
ld: symbol(s) not found for architecture x86_64 clang:
error: linker command failed with exit code 1 (use -v to see invocation)

Может кто-нибудь помочь мне в этом?

1 Ответ

2 голосов
/ 05 февраля 2012

Зайдите в настройки сборки вашей цели и создайте макрос препроцессора со значением __MACOSX_CORE__.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...