我需要使用uClibc ++和musl编译c ++代码。
为此,首先我必须编译uClibc ++ agains musl。
但是尝试这样做时,我遇到了一些错误,例如缺少__snprintf_chk
和__cxa_thread_atexit_impl
简而言之:您应该如何正确做? 我很确定这与g ++标志有关,但是哪个呢?
这是我到目前为止尝试过的(针对mips):
CROSS_COMPILE
参数。我还在同一路径中创建了musl-g ++(基本上与具有相同.spec文件的musl-gcc完全相同,但使用的是mips-linux-gnu-g ++而不是gcc)
我的.spec
文件是musl自动生成的文件,我没有记录。这是我的编译命令:
make install CROSS_COMPILE=/path/to/my/musl/mips CPU_CFLAGS=' -lsupc++ -lgcc -nostdlib -nostdinc -nostdinc++ -mmusl -I/path/to/musl/include -Os -fno-use-cxa-atexit -fno-use-stack-protector -D_FORTIFY_SOURC=0 -L/path/to/my/musl/lib -lc
输出:
In function '__cxa_thread_atexit':
Undefiend reference to __cxa_thread_atexit_impl
In function 'd_append_chk':
Undefiend reference to __sprintf_chk