以AllJoyn自带的chat示例在pc上测试结果如下:
libAllJoyn.a编译选项 |
Chat编译选项 |
测试结果 |
-Wall -Werror=non-virtual-dtor -pipe -std=c++0x -fno-rtti -fno-exceptions -fno-strict-aliasing -Wno-long-long -Wno-deprecated |
-Wall -pipe -std=c++98 -fno-exceptions -Wno-long-long -Wno-deprecated -g -DQCC_OS_LINUX -DQCC_OS_GROUP_POSIX -DQCC_CPU_X86 |
chat.o:(.rodata._ZTI10ChatObject[typeinfo for ChatObject]+0x10): undefined reference to `typeinfo for ajn::BusObject' |
-Wall -pipe -std=c++98 -fno-rtti -fno-exceptions -Wno-long-long -Wno-deprecated -g -DQCC_OS_LINUX -DQCC_OS_GROUP_POSIX -DQCC_CPU_X86 |
OK |
|
-Wall -Werror=non-virtual-dtor -pipe -Wno-c++0x-compat -fno-exceptions -fno-strict-aliasing -Wno-long-long -Wno-deprecated |
-Wall -pipe -std=c++98 -fno-exceptions -Wno-long-long -Wno-deprecated -g -DQCC_OS_LINUX -DQCC_OS_GROUP_POSIX -DQCC_CPU_X86 |
Ok |
-Wall -pipe -std=c++98 -fno-rtti -fno-exceptions -Wno-long-long -Wno-deprecated -g -DQCC_OS_LINUX -DQCC_OS_GROUP_POSIX -DQCC_CPU_X86 |
Ok |
结论:如果编译libAllJoyn.a时使用-fno-rtti选项,应用程序必须也使用该选项;
如果libAllJoyn.a没有使用-fno-rtti选项,应用程序使不使用该选项都可以。