我有一个包含静态库的Objective-C / Cocoa项目。该静态库有一些目标文件,其中包含C ++。
我发现如果我使用该库的项目中不包含其他C ++,则链接失败(无法链接new / delete / etc)。但只需将单个(空).cpp文件添加到项目中即可使链接成功。
实际上,当有任何cpp成功时,构建将调用g ++而不是gcc。对我来说,构建中没有其他区别。
我是否可以使用显式切换在此库中链接而不使用项目中的虚拟cpp文件?
(这主要是一个好奇心问题 - 放入一个空文件并不是世界末日。:))
感谢。
答案 0 :(得分:3)
尝试链接libstdc ++
gcc main.c -lstdc++
或在Xcode中: 项目 - >编辑项目设置
在配置部分“其他链接标记”中,添加-lstdc++
。