如題,今天compile一個東西,只想compile他的lib而不是整個daemon,
所以就下了 make XXXlib 這樣的指令,
實際執行起來大概像是 /usr/bin/ld hello.c -o hello.o 這樣的東西
就跑出了如標題這樣的錯誤,雖然只是一個warning 但是根本可以看做一個error,因為位置
根本全部都錯亂,所以下面一定跑出一堆undefined reference,
研究了許久
終於發現要在後面加上 -lc
如
/usr/bin/ld hello.c -o hello.o -lc
-lc 代表要跟compiler 說使用標準的C 函式庫
這樣終於可以過了 -.-
2014年12月23日 星期二
2014年12月15日 星期一
C++中函式輸入泛型並型態轉換為enum / In C++ function generic parameter casting to enum / casting void* to enum
在C++中不能直接cast成 enum 但在C 中可以
如以下source code 在C中可以COMPILE過
情況類似此篇文章 typdef enum void* 的用法請益
typedef enum {
enum1
enum2,
enum3}
myenum;
void myfunc(void *data)
{
if((myenum)data==enum1)
...
else if ((myenum)data==enum2)
...
else
...
}
2014年10月28日 星期二
[LuaDec51] Compile for Ubuntu
首先先到 luadec的網站下載Luadec51的source code : http://files.luaforge.net/releases/
之後再把lua5.1版本的source code下載下來 : http://www.lua.org/versions.html
由於luadec51會用到Lua51的LIB (liblua.a and liblualib.a)
所以先進到lua5.1的資料夾中去把 Lua compile起來,
$> cd lua5.1...
$> make all
則 liblua.a and liblualib.a 在 luadec51/src 中可以找到
之後只要自己寫個Makefile指向這兩個lib就可以compile成功並執行囉
如果對於如何寫一個Makefile有問題可以留言在底下。
之後再把lua5.1版本的source code下載下來 : http://www.lua.org/versions.html
由於luadec51會用到Lua51的LIB (liblua.a and liblualib.a)
所以先進到lua5.1的資料夾中去把 Lua compile起來,
$> cd lua5.1...
$> make all
則 liblua.a and liblualib.a 在 luadec51/src 中可以找到
之後只要自己寫個Makefile指向這兩個lib就可以compile成功並執行囉
如果對於如何寫一個Makefile有問題可以留言在底下。
訂閱:
文章 (Atom)