링크 ux 아래 Makefile 에는 shared library 동적 링크 라 이브 러 리 파일 이 있 을 때의 간단 한 예 가 포함 되 어 있 습 니 다.

2523 단어 makefile
Makefile 이 무엇 인지 모 르 면 제 다른 블 로 그 를 먼저 보 세 요.
링크 ux 에서 Makefile 의 간단 한 예 및 설명
http://www.cnblogs.com/lihaozy/archive/2012/08/09/2629706.html
 
사실 shared library 동적 링크 라 이브 러 리 파일 을 포함 하 는 컴 파일 링크 과정 은 포함 되 지 않 은 dependency 관계 처리 와 똑 같 습 니 다. 다만 g + 컴 파일 링크 가 shared library 파일 을 포함 할 때 명령 에 해당 하 는 매개 변수 (- shared - fpIC - L. - ltest 등) 를 추가 하면 됩 니 다.
 
여기에 두 개의 파일 이 있 습 니 다. 하 나 는 test. cpp (test () 함수 포함) 입 니 다. libtest. so 로 컴 파일 해 야 합 니 다.
다른 하 나 는 main. cpp (test (호출)) 입 니 다. main. o 로 컴 파일 해 야 합 니 다.
그리고 main. o 와 libtest. so 를 main (최종 실행 가능 한 파일) 으로 연결 합 니 다.
 
test.cpp   ->   libtest.so
main.cpp  ->   main.o
main.o + libtest.so ->  main
 
다음은 코드 와 Makefile:
test.cpp & main.cpp:
//test.cpp
#include <iostream>
using namespace std;

void test()
{
    cout<<"test() in test.cpp"<<endl;
}
//main.cpp
#include <iostream>
using namespace std;

void test();

int main()
{
    test();
}

makefile:
main: main.o libtest.so
    g++ -o main main.o -L. -ltest

main.o: main.cpp
    g++ -o main.o main.cpp -c

libtest.so: test.cpp
    g++ -o libtest.so test.cpp -shared -fPIC

clean:
    rm *so* *.o main

보시 다시 피 큰 차이 가 없습니다. dependecy 의 문법 은 전혀 변 하지 않 았 습 니 다. 단지 약간의 파 라미 터 를 더 했 을 뿐 입 니 다.

좋은 웹페이지 즐겨찾기