外部库(OSX程序)的XCODE编译错误



我在Xcode中有一个简单的" Hello World"类型程序,我正在尝试在其中使用外部库,但是我遇到了编译错误。图书馆是Magtek Edynamo Macos SDK:

https://www.magtek.com/content/softwarepackages/1000004036.zip

(父母页面是https://www.magtek.com/support/edynamo?tab=software; download是macos scra scra sdk(

这是我的代码:

#import "MTSCRA.h"
int main (int argc, const char * argv[])
{
    MTSCRA* mtSCRALib = [[MTSCRA alloc] init];
    return 0;
}

基本上,我只是在导入图书馆,并试图实例化其类别之一。Xcode在任何地方都不会显示任何内联编译错误,但是当我尝试构建和运行时,它会导致多种未定义的符号错误:

Undefined symbols for architecture x86_64:
  "_NSApplicationWillTerminateNotification", referenced from:
      -[HIDManager init] in libMTSCRAOSX.a(HIDManager.o)

和这样的警告:

ld: warning: object file (/path/HelloWorld/libMTSCRAOSX.a(MTSCRA.o)) was built for newer OSX version (10.12) than being linked (10.11)

(如果我评论MTSCRA* mtSCRALib = [[MTSCRA alloc] init];行,它运行正常。(

这些是我在Xcode项目中包含库的步骤:

  • 我将mtscra.h和libmtscraosx.a放到我的项目目录中。
  • 从构建阶段 ->链接二进制,我添加了libmtscraosx.a。
  • 构建设置 ->库搜索路径设置为" $(继承("one_answers" $(project_dir(/helloworld"

这是我的环境:

  • MacBook Pro 64-bit
  • OSX El Capitan 10.11.5
  • Xcode V8.2.1

尝试了所有Google解决方案;没有什么可用。有任何帮助...其他任何人都可以成功导入并使用此库吗?

解决了这个问题。不确定这些是否是新秀错误,但我有两个问题:

1(我还需要包括library/applications/xcode.app/contents/developer/platforms/macosx.‌Platform/devellinger/s‌ dks/macosx.sdk/usr/usr/ling ib/lib/libstdc 。.9.t‌Bd

2(我还必须导入#import <Cocoa/Cocoa.h>。所以:

#import "MTSCRA.h"
#import <Cocoa/Cocoa.h>
int main (int argc, const char * argv[])
{
    MTSCRA* mtSCRALib = [[MTSCRA alloc] init];
    return 0;
}

最新更新