다음 g ++ 명령에서 boost.python 객체를 빌드 할 때 옵션의 의미를 설명 할 수 있습니까?gcc/g ++ 컴파일러의 모든 기능을 완벽하게 사용하기 위해 알아야 할 개념은 무엇입니까?
# location of the Python header files
PYTHON = /usr/include/python2.7
# location of the Boost Python include files and library
BOOST_INC = /usr/include
BOOST_LIB = /usr/lib
# compile mesh classes
TARGET = ex1
$(TARGET).so: $(TARGET).o
g++ -shared -Wl,--export-dynamic \
$(TARGET).o -L$(BOOST_LIB) -lboost_python \
-L/usr/lib/python2.7/config -lpython2.7 \
-o $(TARGET).so
$(TARGET).o: $(TARGET).c
g++ -I$(PYTHON) -I$(BOOST_INC) -c $(TARGET).c
무엇을 :
- W1 내지 --export 동적
- 는
의미를 공유
유틸리티를 빌드 할 때 gcc/g ++ 컴파일러를 최대한 활용하는 방법을 배워야합니까? EDIT : 모두를 필요로하지는 않지만 배우기 가장 일반적으로 사용되는 기능은 무엇입니까?
빌드하기 위해 링크해야하는 필수 라이브러리를 정확히 알 수있는 더 좋은 방법이 있습니까? 현재, 부스트에서 날짜 시간 라이브러리를 사용한 경우, -lboost_date_time과 같은 작업을 수행했으며 작동하지만 다른 라이브러리에서는 작동하지 않는 경우가 있습니다.
또한 boost.python의 경우 Bjam을 사용하고 싶지 않습니다. 배우는 데 많은 시간이 걸리고 문서가 모호하게 보입니다. make 유틸리티는 나에게 보편적으로 보입니다. 그러나 Windows에서 MSVS와 같은 빌드 프로세스를 자동화 할 수있는 IDE가 있습니까? 코드 :: 차단? IDE에서 수동으로 작성한 makefile의 장점은 무엇입니까? 빌드 자동화로 많은 시간을 절약하는 것 같습니다.
정말 ** 모든 ** gcc의 기능이 필요합니까? – ybungalobill
이 질문은 매우 광범위하며 하위 질문이 포함되어 있습니다. 한 번에 한 가지만 집중 해보십시오. –
'man g ++'또는'man gcc' 다음에 옵션을 검색하고, 설명을 읽고, 명확하지 않은 경우 다시 돌아와 물어보십시오. –