对‘sqrt’未定义的引用 collect2: error: ld returned 1 exit status

今天在调用数学库函数的时候,在Linux中使用的编译器中出现:

/tmp/ccmfxE8L.o:在函数‘main’中:
testcgen.c:(.text+0x23):对‘sqrt’未定义的引用
collect2: error: ld returned 1 exit status

说是因为不能链接到数学库函数

这时我们只需要在编译的指令 加上 -lm就可以了


gcc test.c -o  test  -lm

如图所示:

完美的解决了这个问题!!

根据引用\[1\],你在将cocos引擎从3.10升级到3.17.2时遇到了一些问题。编译报错显示无法找到一些头文件,比如curl.h、stdlib.h和string.h。根据引用\[2\],这可能是因为从Android 6.0开始,系统默认阻止了所有Http请求。你可以尝试在AndroidManifest.xml文件中添加`android:usesCleartextTraffic="true"`来解决这个问题。 另外,根据引用\[3\],在使用cocos开发时,通常会先在win32上进行测试和调试,然后再编译android或ios端。在android或ios端,你不需要担心缺少curl.h等头文件,因为触控已经添加好了。 至于你提到的/tmp/ccGl3Ni8.o错误,这是一个链接错误,提示在'main'函数中对'sqrt'的引用未定义。这可能是因为你没有包含正确的数学库。你可以尝试在编译时添加-lm选项来链接数学库,例如`g++ -o output_file source_file.cpp -lm`。 综上所述,你可以尝试添加`android:usesCleartextTraffic="true"`来解决头文件找不到的问题,并在编译时添加-lm选项来解决链接错误。希望这些解决方案能帮助你解决问题。 #### 引用[.reference_title] - *1* *2* *3* [COCOS2D-X 关于 fatal error C1083: 无法打开包括文件:.....h” 的问题](https://blog.csdn.net/MDD0828/article/details/100891574)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值