У нас есть большое приложение на основе углерода (PowerPlant), которое мы, наконец, смотрим на порт Cocoa. Мы будем делать это постепенно, и первым шагом будет попытка получить представление Cocoa в окне Carbon.HICococaView не компилируется с GCC 4.2
Проблема заключается в том, что при использовании любой из функций из HICocoaView.h приложение не будет компилироваться, если я не переключу компилятор из GCC 4.2 в GCC 4.0.
Использование любого компилятора, отличного от GCC 4.0. Я получаю сообщение об ошибке в XCode, что функции недоступны, например. «HICocoaViewCreate недоступен».
Я не могу понять, почему это не сработает, придется ли нам переключиться на старый компилятор или есть какая-то настройка, которую мы можем изменить, чтобы заставить ее скомпилировать?
Любая помощь или указатели на полезную документацию по портированию Carbon to Cocoa очень ценится. Я прочитал старый справочник по интеграции углеродных какао, но он не упоминает об этом.
Edit: В соответствии с просьбой, вот выход из сборки для GCC командной строки: -
/Developer/usr/bin/gcc-4.2 -x objective-c++ -arch i386 -fmessage-length=0 -pipe -Wno-trigraphs -fpascal-strings -fasm-blocks -O0 -Wmissing-prototypes -Wreturn-type -Wunused-variable -Wunused-value -D__IMPRO_DEBUG_BUILD__ -isysroot /Developer/SDKs/MacOSX10.5.sdk -mfix-and-continue -mmacosx-version-min=10.5 -gdwarf-2 "-I/Users/matt/Code/MattsFeatureBranch/Modules/User Notes/Mac/../../../(Intermediates)/Debug/User Notes.build/Debug/Module Bundle.build/User Notes.hmap" -Wparentheses -Wno-conversion -Wno-sign-compare -Wno-multichar -Wno-deprecated-declarations "-F/Users/matt/Code/MattsFeatureBranch/Modules/User Notes/Mac/../../../Build Products/Mac/Debug/Plugins" "-F../../../Build Products/Mac/Debug" "-F../../../Third Party/Mac/NVidia" "-I/Users/matt/Code/MattsFeatureBranch/Modules/User Notes/Mac/../../../Build Products/Mac/Debug/Plugins/include" -I../X-Platform -I../../../Common/Mac -I../../../Common/X-Platform -I../../../DLLs/ArcadiaCore/Mac -I../../../DLLs/ArcadiaCore/X-Platform "-I../../../Third Party/Mac/Powerplant" -I/Developer/SDKs/MacOSX10.5.sdk/Developer/Headers/FlatCarbon "-I../../../Third Party/X-Platform/boost_1_38_0" -I../../../DLLs/ArcadiaImaging/Mac -I../../../DLLs/ArcadiaImaging/X-Platform -I../../../DLLs/ArcadiaDatabase/Mac -I../../../DLLs/ArcadiaDatabase/X-Platform -I../../../DLLs/ArcadiaUI/Mac -I../../../DLLs/ArcadiaUI/X-Platform "-I../../../Third Party/Mac/Powerplant Extras" -I../../../DLLs/ArcadiaDevices/Mac -I../../../DLLs/ArcadiaDevices/X-Platform -I../../../DLLs/Arcadia3D/Mac -I../../../DLLs/Arcadia3D/X-Platform "-I/Users/matt/Code/MattsFeatureBranch/Modules/User Notes/Mac/../../../(Intermediates)/Debug/User Notes.build/Debug/Module Bundle.build/DerivedSources/i386" "-I/Users/matt/Code/MattsFeatureBranch/Modules/User Notes/Mac/../../../(Intermediates)/Debug/User Notes.build/Debug/Module Bundle.build/DerivedSources" -fpermissive -fasm-blocks -include "/Users/matt/Code/MattsFeatureBranch/Modules/User Notes/Mac/../../../(Intermediates)/Debug/SharedPrecompiledHeaders/XPrefix-acshmfbgvfwrdqbyayvgnckkypgr/XPrefix.h" -c "/Users/matt/Code/MattsFeatureBranch/Modules/User Notes/Mac/MUserNotesView.cpp" -o "/Users/matt/Code/MattsFeatureBranch/Modules/User Notes/Mac/../../../(Intermediates)/Debug/User Notes.build/Debug/Module Bundle.build/Objects-normal/i386/MUserNotesView.o"
+1 за отличный ответ и причину проблемы. Хорошо сказано! –
Спасибо за помощь. Это действительно отличный ответ, просто то, что мне нужно было знать. – Matt
Поняв, что это немного больше в конфигурации сборки XCode, похоже, мы уже скомпилируем только 32-битные архитектуры. Если я чего-то не упускаю, должно быть что-то еще. – Matt