我在asterisk/main
目录中添加了一个test.c来测试ODBC。不幸的是,当我运行make
时,它会显示如下。
test.o: In function `test_function':
/usr/src/asterisk-certified-13.8-cert3/main/libtest.c:10:
undefined reference to `SQLAllocHandle'
像这样的 test.c
:
#include "asterisk/res_odbc.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
int test_function(void){
int res;
SQLHANDLE output_handle;
res = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &output_handle);
if ( (res != SQL_SUCCESS) && (res != SQL_SUCCESS_WITH_INFO) ) {
ast_log(LOG_DEBUG, "AllocHandle Success!\n");
} else {
ast_log(LOG_WARNING, "Error AllocHandle");
}
return 0;
}
我该如何解决这个问题?谢谢!
答案 0 :(得分:0)
您应该将包含库的Makefile更改为您的模块。
但是当你使用星号时,这是错误的方法。
正确的方法是用户REALTIME或func_odbc,并使其关心连接。