GCC ICU 57 静态链接
GCC ICU 57 static linking
我正在尝试 link ICU 57 到我的二进制文件。即使认为(我认为至少)我正在 linking 静态库文件,那也行不通。
这是一个直截了当的例子:
gcc -static /usr/lib/libicui18n.a /usr/lib/libicuuc.a /usr/lib/libicudata.a /usr/lib/libicule.a /usr/lib/libiculx.a /usr/lib/libicutu.a /usr/lib/libicuuc.a /usr/lib/libicuio.a obj/ex.o obj/msg.o -o bin/ex
这是我收到的错误消息:
src/msg.c:5: undefined reference to `u_fopen_57'
src/msg.c:9: undefined reference to `u_fgetfile_57'
src/msg.c:10: undefined reference to `u_fgetfile_57'
src/msg.c:11: undefined reference to `u_frewind_57'
src/msg.c:18: undefined reference to `u_fgetc_57'
src/msg.c:17: undefined reference to `u_feof_57'
src/msg.c:25: undefined reference to `u_fclose_57'
虽然链接动态库工作正常。
如果可以的话,我建议使用 pkg-config
,因为我推荐 here,
特别是 pkg-config --static …
的解释 here
我正在尝试 link ICU 57 到我的二进制文件。即使认为(我认为至少)我正在 linking 静态库文件,那也行不通。 这是一个直截了当的例子:
gcc -static /usr/lib/libicui18n.a /usr/lib/libicuuc.a /usr/lib/libicudata.a /usr/lib/libicule.a /usr/lib/libiculx.a /usr/lib/libicutu.a /usr/lib/libicuuc.a /usr/lib/libicuio.a obj/ex.o obj/msg.o -o bin/ex
这是我收到的错误消息:
src/msg.c:5: undefined reference to `u_fopen_57'
src/msg.c:9: undefined reference to `u_fgetfile_57'
src/msg.c:10: undefined reference to `u_fgetfile_57'
src/msg.c:11: undefined reference to `u_frewind_57'
src/msg.c:18: undefined reference to `u_fgetc_57'
src/msg.c:17: undefined reference to `u_feof_57'
src/msg.c:25: undefined reference to `u_fclose_57'
虽然链接动态库工作正常。
如果可以的话,我建议使用 pkg-config
,因为我推荐 here,
特别是 pkg-config --static …
的解释 here