libcurlを使用するサンプル共有ライブラリを作成しました。今、私はこの共有ライブラリを使用するつもり1つのサンプルプログラムを作成して、そのプログラムのMakefileには共有ライブラリで定義されていない参照を取得する
CC= arm-none-linux-gnueabi-gcc
CPPFLAGS= -I/home/yuvi/development/libcurl/curl-7.24.0/build_arm/include -Wall -g
LDFLAGS= -L/home/yuvi/development/libcurl/curl-7.24.0/build_arm/lib \
-l:libcurl.a -l:libssh2.a -l:libssl.a -l:libcrypto.a \
-L/home/yuvi/development/CD/VAR-SOM-OM35_VAR-SOM-OM37_VAR-SOM-AM35/Software/Linux/host_tools/linux/arm-2009q3/arm-none-linux-gnueabi/libc/lib -lrt
all: resume.o libresume.so
resume.o:
$(CC) $(CPPFLAGS) -c -fPIC resume_download.c -o resume_download.o $(LDFLAGS)
libresume.so:
$(CC) -shared -Wl,-soname,libresume.so.1 -o libresume.so resume_download.o
clean:
rm -f resume_download.o libresume.so
:ここでは、共有ライブラリを作成するには、対応するMakefileのある
CC= arm-none-linux-gnueabi-gcc
CPPFLAGS= -I/home/yuvi/development/libcurl/curl-7.24.0/build_arm/include -Wall -g
LDFLAGS= -L/home/yuvi/development/libcurl/curl-7.24.0/build_arm/lib \
-l:libcurl.a -l:libssh2.a -l:libssl.a -l:libcrypto.a \
-L/home/yuvi/development/CD/VAR-SOM-OM35_VAR-SOM-OM37_VAR-SOM-AM35/Software/Linux/host_tools/linux/arm-2009q3/arm-none-linux-gnueabi/libc/lib -lrt \
-L/home/yuvi/development/libcurl/sample_program -lresume
all:
$(CC) $(CPPFLAGS) resume_app.c -o app $(LDFLAGS)
しかし、私が行った場合
/home/yuvi/development/libcurl/sample_program/libresume.so: undefined reference to `curl_easy_setopt'
/home/yuvi/development/libcurl/sample_program/libresume.so: undefined reference to `curl_global_cleanup'
/home/yuvi/development/libcurl/sample_program/libresume.so: undefined reference to `curl_easy_init'
/home/yuvi/development/libcurl/sample_program/libresume.so: undefined reference to `curl_easy_perform'
/home/yuvi/development/libcurl/sample_program/libresume.so: undefined reference to `curl_easy_cleanup'
/home/yuvi/development/libcurl/sample_program/libresume.so: undefined reference to `curl_global_init
今、私はこれらのエラーをなくすことができますどのように、共有ライブラリを作成したり、サンプルPROGのコンパイルで何か問題があります:上記のMakefileは、私は次のエラーを取得していますRAM。 お願いします....!実際のオブジェクトファイルは `resume_download.o`命名されているときに`ターゲットとしてresume.o`を持っているのはなぜ
前-lresumeを追加しますか? –