自從我使用C之後很長一段時間,但現在我正在嘗試編譯一個從Apache-Portable-Runtime(APR)獲取服務器狀態的短腳本。位於/usr/include/apr-1/apr*.h如何編譯APR測試腳本
頭文件和庫位於/usr/lib64/libapr-1.*
源文件可以在官方網站APR中找到http://apr.apache.org/docs/apr/1.3/files.html。
/* test.c */
#include <stdio.h>
#include <stdlib.h>
#include <apr_general.h>
#include <apr_time.h>
int main(int argc, const char *argv[])
{
apr_time_t t;
t = apr_time_now();
printf("The current time: %" APR_TIME_T_FMT "[us]\n", t);
return 0;
}
當我嘗試編譯我收到以下錯誤(我相信這是一個連接問題):
~> gcc -Wall $(apr-1-config --cflags --cppflags --includes --link-ld) test.c -o test.bin /tmp/cc4DYD2W.o: In function `main': test.c:(.text+0x10): undefined reference to `apr_time_now' collect2: ld returned 1 exit status
我的環境是Gentoo:
~> uname -a Linux alister 2.6.32.21-grsec-gt-r2 #1 SMP Tue Sep 7 23:54:49 PDT 2010\ x86_64 Intel(R) Xeon(R) CPU L5640 @ 2.27GHz GenuineIntel GNU/Linux` ~> gcc -v gcc version 4.3.4 (Gentoo 4.3.4 p1.1, pie-10.1.5) ~> emerge --search "%@^dev-lib.*apr" * dev-libs/apr Latest version installed: 1.3.9 * dev-libs/apr-util Latest version installed: 1.3.9
有誰更多在Linux上使用C的經驗對我有什麼建議可以使它工作?
一如既往的在此先感謝。
如果有人認爲有幫助,我可以添加'gcc -v'輸出。 – CoffeeMonster 2010-11-05 21:15:53
「apr-1-config --cflags --cppflags --includes --link-ld」的輸出可能會有幫助 – 2010-11-06 19:04:54