c++ 交叉编译时未生成Breakpad客户端

qncylg1j  于 2023-01-28  发布在  其他
关注(0)|答案(1)|浏览(242)

我正在尝试交叉编译Google Breakpad。我正在执行以下命令:

$ ./configure --prefix=/opt/breakpad CFLAGS="-Os" CC=PATH_ARM_COMPILER/arm-linux-gcc CXX=PATH_ARM_COMPILER/arm-linux-g++ --host=arm
$ make
$ make install

它在前缀路径中生成并安装一些文件。在include路径中它有:

|-common
|-google_breakpad
|-processor

但它应该具有:

|-client
|-common  
|-google_breakpad
|-processor
|-third_party

这似乎是一个与Breakpad客户端有关的问题。交叉编译Breakpad的正确方法应该是什么?
我的主机是Ubuntu 18.04 x86-64,目标是ARM-32。

tf7tbtn2

tf7tbtn21#

我已经把你的问题复制到我这边了,其实这个问题和--host编译标志有关。
Breakpad documentation显示:
在Linux上构建时,它还将构建客户端库。
因此,为了获得客户端二进制文件和头文件,您应该使用正确的编译器前缀。
例如,如果您使用的是GNU交叉编译器arm-linux-gnueabihf-gcc,则--host标志值应为arm-linux-gnueabihf
在您的情况下(arm-linux-gcc),尝试按以下方式更改configure命令:

./configure --prefix=/opt/breakpad CFLAGS="-Os" CC=PATH_ARM_COMPILER/arm-linux-gcc CXX=PATH_ARM_COMPILER/arm-linux-g++ --host=arm-linux

相关问题