我在目录中添加了一个test.c asterisk/main
来测试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;
}
我该如何解决这个问题?谢谢!
您应该将包含库的 Makefile 更改为模块。
但是当您使用星号时,这是错误的方法。
正确的方法是用户实时或func_odbc,并使其关心连接。