【发布时间】:2014-07-24 21:17:50
【问题描述】:
我有 configure.ac,它专为构建共享库(linux 和 macos)而设计。现在我想添加一个特殊的演示应用程序,它使用这个库并展示它的特性。然而,这个演示应用程序仅适用于 MacOS,并且其中包含 .mm 文件 (main.mm)。我正在尝试以这种方式为这个演示应用定义一个目标:
if OS_DARWIN
EXTRA_PROGRAMS = app-demo
app_demo_CC = OBJC
app_demo_CXX = OBJC
app_demo_SOURCES = demoapp/config.cc demoapp/config.h \
demoapp/main.mm demoapp/AppDelegate.m \
demoapp/renderer-stub.cc demoapp/renderer-stub.h \
demoapp/view.cc demoapp/view.h
app_demo_CPPFLAGS = ... # include directories here
app_demo_LDFLAGS = ... # libraries and library search paths
endif
这是我的顶级 Makefile.am,如您所见,demoapp 文件夹包含演示应用程序的所有源代码和两个 Objective-C 文件:main.mm 和 AppDelegate.m。 但是,当我尝试运行 make app-demo 时,我得到了这个:
Undefined symbols for architecture x86_64:
"_main", referenced from:
implicit entry/start for main executable
这意味着(我从制作日志中确认)main.mm 尚未编译,也没有链接。 有谁知道这个的解决方法?
【问题讨论】:
标签: objective-c objective-c++ autoconf automake