我想在C++ Builder 10.1.2中使用math.h
。將錯誤與「math.h」鏈接 - 告訴鏈接器鏈接的選項是什麼?
不幸的是,當我嘗試調用math.h
的函數之一時出現鏈接器錯誤。 我已經知道的是,(由於歷史原因)鏈接器必須顯式設置爲使用鏈接來使用數據庫數據庫庫。 See here。
在gcc這可以通過-lm
標誌完成。
但是我對C++ Builder中的項目選項 =>C++鏈接器 =>高級選項進入領域,使這項工作?
編輯:
所以這裏有一個例子: 創建一個新的VCL項目和改變Form1代碼那樣:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <math.h>
//-------------------------------------------------------------------------- -
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
float a = floorf(0.0f);
}
//---------------------------------------------------------------------------
這會給你的鏈接錯誤
[ilink32 Error] Error: Unresolved external '_floorf' referenced by C:\USERS\FLKO\DOCUMENTS\EMBARCADERO\STUDIO\PROJECTS\WIN32\DEBUG\UNIT1.OBJ
所以我需要告訴鏈接器鏈接到math
lib。
但是如何?
那麼錯誤是什麼?未解決的符號?多個定義的符號? –
過了一段時間,但您曾經使用「添加到項目」,將搜索過濾器更改爲* .lib,追查庫並單擊確定。 – user4581301