我在Ubuntu 12.04 x86 64位下,我已llvm/clang成功从官方svn存储库编译了32位版本.
我现在正在尝试为ARM编译c ++代码,此时我并不关心像armv5vs 这样的平台版本armv7a,我专注于平台交换机的工作原理clang:
llvm-config --targets-built
ARM CellSPU CppBackend Hexagon Mips MBlaze MSP430 NVPTX PowerPC Sparc X86 XCore
Run Code Online (Sandbox Code Playgroud)
但以下命令不起作用
clang++ -arch arm soft.cpp -o soft_ARM
Run Code Online (Sandbox Code Playgroud)
输出是
clang-3: warning: argument unused during compilation: '-arch arm'
Run Code Online (Sandbox Code Playgroud)
我也曾尝试GCC样变体或其他组合一样-arch=arm,-arch=armv7a,-march=armv5但似乎没有任何工作.
在阅读了一些文档后,我注意到clang仅适用于ARM OS X/Darwin下的ARM,并且它不适用于其他操作系统下的ARM.
我如何用clang编译ARM以及它的输出llvm-config --targets-built是什么?
我有兴趣将一个cmake脚本移植到Android,到目前为止我已经找到了这个项目,问题是它看起来很旧,在安装文件中也只有对NDK r5b的引用,这真的很老了发布.
Android有替代构建脚本吗?
我在mac上熟悉Ogre openGL引擎.我按照这个步骤在mac上设置SDK版本1.8.0
OgreSDK/Samples/Samples.xcodeproj以构建样本我在最后一步有问题,当我打开.xcodeproj文件并尝试构建All_Build目标时,它会出现此错误:
make -f /Applications/OgreSDK/CMakeScripts/ReRunCMake.make
make[1]: *** No rule to make target `/Applications/CMake 2.8-8.app/Contents/share/cmake-2.8/Modules/CMakeCCompiler.cmake.in', needed by `CMakeFiles/cmake.check_cache'. Stop.
make: *** [/Applications/OgreSDK/CMakeFiles/ZERO_CHECK] Error 2
Command /bin/sh failed with exit code 2
Run Code Online (Sandbox Code Playgroud) 让我们假设我得到了lib.so,我编译二进制文件mySoft并将其链接到lib.so.
在这一点上,考虑到一切都按预期工作,是否可以安全地取走lib.so它strip -s lib.so?
为了清楚起见我对将其他二进制文件链接到我lib.so之后mySoft正确生成并不感兴趣,我只对继续mySoft工作并获得一些磁盘空间感兴趣,并且可能在性能方面有一点小优势.
EGL 看起来像是有史以来记录最差的 Khronos 项目,我确实找不到有关该项目的任何具体信息,但它看起来很有前途,最后有一个 GLUT/FreeGlut 的标准化替代方案。
我的观点是,假设我想要在 linux 桌面上的窗口中或没有窗口(没有装饰)的应用程序中使用 EGL 上下文,作为程序员,我应该向谁咨询以获得该 EGL 上下文?例如,如果我使用 QT,那么 QT 是否应该实现 EGL?奥格?我?
这段代码
#include <iostream>
#include <vector>
struct obj
{
std::string name;
int age;
float money;
obj():name("NO_NAME"),age(0),money(0.0f){}
obj(const std::string& _name, const int& _age, const float& _money):name(_name),age(_age),money(_money){}
obj(obj&& tmp): name(tmp.name), age(tmp.age), money(tmp.money) {}
obj& operator=(obj&&) {return *this;}
};
int main(int argc, char* argv[])
{
std::vector<obj> v;
for( int i = 0; i < 5000000; ++i )
{
v.emplace_back(obj("Jon", 45, 500.6f));
}
return(0);
}
Run Code Online (Sandbox Code Playgroud)
比等效的 with 慢大约 2 倍v.push_back(obj("Jon", 45, 500.6f));,我不明白为什么。
我已经用 botg++ 4.7.2和clang++ 3.3.
我错在哪里?
现在我已经更正了我的移动构造器,我将添加更多