问题:在工程中链接了一个静态库,当调用静态库中的API时,在编译过程中报错printf等函数未定义。
解决:先链接libm再链接libc
修改前:
target_link_libraries(${target} PRIVATE ${libc_file_name} ${libm_file_name} ${libgcc_file_name})
修改后:
target_link_libraries(${target} PRIVATE ${libm_file_name} ${libc_file_name} ${libgcc_file_name})
原因:libm调用了libc,被调用的库要放在后面链接,否则会显示找不到