Amazon EC2的CrossCompile C 二进制
crosscompile c++ binary for Amazon EC2
我试图仅根据看起来相似的内容(两个Ubuntu 64位)进行编译,但是二进制文件不是Ubuntu的Amazon实例(也是64位,但不要)比这更了解)。
我已经看到一个线程建议旋转其他EC2实例只是为了编译在那里,但是它不是一个解决方案,因为我无法在外面传输源,只有一个编译的二进制文件和动态的libs。
。正在考虑在我的计算机上制作虚拟环境来产生EC2的克隆以编译在那里,但是可以可行吗?
内核信息:
uname -a
4.4.0-93-generic #116-Ubuntu SMP Fri Aug 11 21:17:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
ip-xxx-xxx-xxx-xxx 4.4.0-1035-aws #44-Ubuntu SMP Tue Sep 12 17:27:47 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
它使用了一些亚马逊裁缝制造的内核?
文件信息:
file ./testBinary
./testBinary: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), too many program (2304)
file -Pelf_phnum=3000 ./testBinary
./testBinary: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), corrupted program header size, corrupted section header size
您实际上无法从某些AMI创建的'Clone'EC2实例。因此,由于您没有任何有关库确切不工作的详细信息,因此我建议运行Amazon Linux而不是Ubuntu。
您可以在计算机上的Docker容器中运行Amazon Linux并在那里构建库(https://hub.docker.com/_/amazonlinux/)。这样,库应在Amazon Linux的任何EC2中都没有问题。
如果您想坚持使用Ubuntu,至少应该匹配Ubuntu版本(不仅仅是架构)和内核版本。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 有根的二进制搜索树.保留与其父级的链接
- 多态二进制函数
- 正在读取二进制文件(is_open)
- visual在c++中将十进制数转换为二进制数
- C++十进制到二进制,如何转换
- cpp二进制搜索问题,计算给定数组中输入元素的出现次数
- 二进制搜索树叶数问题
- 如何将一个ostringstream十六进制字符串字符对转换为单个unit8t等价的二进制值
- 为什么二进制搜索在我的测试中不起作用
- 重载==不适用于二进制树
- 正在尝试重载二进制搜索树分配运算符
- 在C++中将类(带有Vector成员)保存为二进制文件
- 如何从二进制文件中读取字符串
- 使用不同的CRT将新的C++代码与旧的(二进制)组件隔离开来的最佳方法是什么
- 带有数组键C++的二进制映射
- 如何将二进制格式的 C++ 对象的 std::vector 保存到磁盘?
- 二进制数之和(使用C样式字符串)
- 如何从dicom文件中读取二进制数据
- 基于编译器选项的编译二进制路径