링크 ux 아래 Makefile 에는 shared library 동적 링크 라 이브 러 리 파일 이 있 을 때의 간단 한 예 가 포함 되 어 있 습 니 다.
2523 단어 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 의 문법 은 전혀 변 하지 않 았 습 니 다. 단지 약간의 파 라미 터 를 더 했 을 뿐 입 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
더 이상 Makefile을 사용하지 않습니다! 대신 나는 bake-cli를 사용합니다bake-cli에 대해 알기 전에 많은 makefile을 수행하고 있습니다. 구식이고 쉽게 실행할 작업을 정의할 수 있기 때문입니다! 그리고 훌륭합니다. 그런 다음 패브릭을 찾아 호출합니다. 오 마이 굿! 나는 :l...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.