Мой проект компилируется и работает нормально в режиме отладки, но когда я переключаюсь на выпуск компиляции x86_64, я получаю ошибки компилятора при попытках setBounds с использованием NSRect.(Ошибки читаются как «несовместимый тип для аргумента 1 в setBounds».)
Есть много постов, которые я предлагаю добавить макроопределение NS_BUILD_32_LIKE_64 над импортом Cocoa (Foundation), так что «Если NS_BUILD_32_LIKE_64 ”язык в NSGeometry.h будет истинным, и будут использоваться необходимые typedefs.Поэтому я добавил определение макроса в файл h класса-нарушителя:
#define NS_BUILD_32_LIKE_64 1
#import <Cocoa/Cocoa.h>
И я все еще получаю те же ошибки компиляции.
Я также пытался явно преобразовать NSRect в CGRect, поэтомучто вместо этого.,.
// rectIncomingSource is an NSRect
calayer.bounds = rectIncomingSource;
.,,Я написал это:
calayer.bounds = CGRectMake(rectIncomingSource.origin.x, rectIncomingSource.origin.y, rectIncomingSource.size.width, rectIncomingSource.size.height);
Те же ошибки.
И почему установление границ будет единственной проблемой?Согласно документации Apple, NSInteger и NSUInteger являются основной проблемой преобразования, и я использую их повсеместно, но компилятор не жалуется на них.Так с чего бы это задыхаться?
Я, вероятно, здесь упускаю что-то действительно простое - за что я прошу прощения у волшебников.Любая помощь для слепых?