c语言 - 星号:未定义对"SQLAllocHandle"的引用



我在目录中添加了一个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,并使其关心连接。

相关内容

  • 没有找到相关文章

最新更新