Netbeans дает неопределенную ссылку на функции PCRE - PullRequest
0 голосов
/ 26 ноября 2011

Когда я пытаюсь собрать свою программу, компоновщик не работает, сообщая, что у меня есть неопределенные ссылки на функции PCRE. Я связал libpcre.a и добавил каталог, в котором он находится, к путям поиска, а также добавил файлы заголовков к путям поиска и даже несколько раз перестроил PCRE, настроив cmake, на всякий случай отключив PCRECPP и запустив сделать по каталогу. Кажется, я ничего не могу сделать, чтобы это исправить, и я считаю, что есть проблема конфигурации. Хотя это, наверное, что-то глупое, что я сделал с моей стороны!

mkdir -p build/Debug/MinGW-Windows
rm -f build/Debug/MinGW-Windows/main.o.d
gcc.exe    -c -g -Wall -I/C/Users/One/Documents/Programming/C/Libraries/pcre-8.12 -MMD -MP -MF build/Debug/MinGW-Windows/main.o.d -o build/Debug/MinGW-Windows/main.o main.c
main.c: In function 'main':
main.c:278:5: warning: passing argument 3 of 'pcre_compile' from incompatible pointer type [enabled by default]
c:/Users/One/Documents/Programming/C/Libraries/pcre-8.12/pcre.h:282:21: note: expected 'const char **' but argument is of type 'char **'
main.c:282:5: warning: passing argument 3 of 'pcre_compile' from incompatible pointer type [enabled by default]
c:/Users/One/Documents/Programming/C/Libraries/pcre-8.12/pcre.h:282:21: note: expected 'const char **' but argument is of type 'char **'
main.c: In function 'getFileList':
main.c:231:1: warning: control reaches end of non-void function [-Wreturn-type]
main.c: In function 'getFileServer':
main.c:205:1: warning: control reaches end of non-void function [-Wreturn-type]
mkdir -p dist/Debug/MinGW-Windows
gcc.exe     -o dist/Debug/MinGW-Windows/project1 build/Debug/MinGW-Windows/main.o -L/C/Users/One/Documents/Programming/C/Libraries/pcre-8.12/lib -lpcre 
build/Debug/MinGW-Windows/main.o: In function `runRegex':
C:\Users\One\Documents\Programming\C\Projects\project1/main.c:174: undefined reference to `_imp__pcre_exec'
build/Debug/MinGW-Windows/main.o: In function `main':
C:\Users\One\Documents\Programming\C\Projects\project1/main.c:278: undefined reference to `_imp__pcre_compile'
C:\Users\One\Documents\Programming\C\Projects\project1/main.c:282: undefined reference to `_imp__pcre_compile'
collect2: ld returned 1 exit status

1 Ответ

0 голосов
/ 07 декабря 2011

По какой-то причине компилятор ожидал динамическую библиотеку. Как только я установил опцию в CMake, она работала нормально.(Хотя я все еще не мог выяснить, как заставить его принимать статическую библиотеку, которая была построена, хотя я могу сделать это с помощью gcc через командную строку)

...