나는 MAC OSX를 사용하여 단지 로컬 데이터베이스에 대한 연결을 테스트하는 '테스트'msyql 응용 프로그램 작성하려고 해요 :왜 MAC OSX에서 간단한 mysql c 응용 프로그램을 컴파일 할 때 정의되지 않은 기호가 계속 표시됩니까?
#include <my_global.h>
#include <mysql.h>
int main(void)
{
MYSQL mysql;
mysql_init(&mysql);
mysql_options(&mysql, MYSQL_READ_DEFAULT_GROUP, "examplemysql");
if(!mysql_real_connect(&mysql, "localhost", "someuser", "somepassword", "sampledb", 0, NULL, 0))
{
fprintf(stderr, "Failed to connect to database: Error: %s\n", mysql_error(&mysql));
}
}
내가 명령을 사용하여 컴파일의 gcc -I/usr/지방/mysql을을/포함 -L/usr/지방/mysql을/lib에 mysql.c
I 얻을에서 참조 다음과 같은 오류가
정의되지 않은 기호를
"_mysql_options": cceohP7E.o에
_main cceohP7E.o
에
_main :에서 참조 cceohP7E.o
"_mysql_error"에
_main :에서 참조 cceohP7E.o
"_mysql_init"에
_main :에서 참조 "_mysql_real_connect" LD : 기호가
collect2를 찾을 수 없습니다 LD 내가 더 C/유닉스 전문가는 아니지만, 내가 배우고 싶은 1 개 종료 상태
를 반환했습니다. 64 비트 아키텍처가 여기서 실행된다는 것을 알고 있습니다. 이 문제가 될 수 있습니까? 내가 뭘 잘못하고 있는지 알려줘.
감사합니다.
링커에서 포함 헤더를 찾지 못하거나 올바른 헤더가 아닙니다.호출중인 함수가 해당 헤더에 정의되어 있는지 확인하십시오. – Falmarri
헤더 파일을 통해 검색 중이며 정확하게 "_mysql_options"등을 찾을 수 없습니다. 이제 내 질문에 "_mysql_options"의 출처가 어디입니까? – EDJ