編譯sqlite3 win32版本時候,遇到如下問題
2>sqlite3secure.obj : error LNK2019: 無法解析的外部符號 _acosh,該符號在函數 _acoshFunc 中被引用
2>sqlite3secure.obj : error LNK2019: 無法解析的外部符號 _asinh,該符號在函數 _asinhFunc 中被引用
2>sqlite3secure.obj : error LNK2019: 無法解析的外部符號 _atanh,該符號在函數 _atanhFunc 中被引用
2>sqlite3secure.obj : error LNK2019: 無法解析的外部符號 _isblank,該符號在函數 _properFunc 中被引用
搜索, 發現是在win32平台沒有這幾個,只要將 HAVE_AVOSH, HAVE_ASINH, HAVE_ATANH, HAVE_ISBLANK 注釋掉就可以了
吐槽下,后面用的是
#ifndef HAVE_ACOSH
#endif
上面定義的是 #define HANVE_ACOSH 1
讓人會以為是這邊可以設置不同的值作為開關,當然對其他平台不熟悉,不知道這種寫法是否其他平台要求i的