如題,今天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
...
}
訂閱:
文章 (Atom)