【发布时间】:2015-12-09 17:45:01
【问题描述】:
我一定遗漏了一些东西,希望您能提供帮助。我有一个 C++ 应用程序,最初是在 RedHat x86 64 平台上使用 NetBeans 开发的。代码和nbproject 文件/文件夹都在源代码控制 (git) 之下。我也在使用 Clang。
我正在尝试使用相同版本的 NetBeans 将此应用程序移植到 OSX,并针对不同的平台差异添加一些 #ifdef 语句。我还在 OSX 上修改了每个项目的 NB 属性以指向不同的包含和库位置,对于应用程序的内部库,我指向本地 .../dist/Debug/Clang-MacOSX 目录。
在更改偏好设置时,我会尽可能多地点击Apply 按钮。
然而,当我编译可执行文件和最终共享对象时,我会收到很多关于各种 C++ 类的消息,例如 std::locale 和其他类以及以下消息:
ld: symbol(s) not found for architecture x86_64
我每次都进行清理和构建。我只使用Debug 配置。我没有触及Release 配置选项,因为我只需要部署这个东西的调试版本。
Release 配置文件中仍然包含对 x86_64 的引用,并且与发布相关的 makefile 中提到了 x86,各种configuration.xml 文件也是如此。我一直对从这些中撕下东西持怀疑态度。
所以,问题是:我应该如何为跨平台 C++ 开发设置 Netbeans 和 git?
【问题讨论】: