목록Compile (6)
준호씨의 블로그
개발 공부를 좀 해보신 분들은 아두이노가 어떤 식으로 빌드되는지 좀 궁금해질 수 있습니다. 아두이노 IDE에서 빌드해 보면 로그가 자세히 나오지는 않아서 어떻게 빌드가 되는지 자세히 나오지는 않는데요. Preferences -> Show verbose output during: complication을 켜주면 좀 더 상세한 로그가 나옵니다. 아래처럼 말이죠. gcc로 컴파일해 보신 분들은 조금 다르지만 익숙한 빌드 명령어를 보실 수 있습니다. avr-g++명령어가 실행되는 것을 볼 수 있습니다. ... /Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno..
빌드한 프로그램이 실행되지 않아서 lldb 로 실행 해 보면 dyld: Library not loaded 가 뜨는 경우가 있다. Process 58785 launched: '/.../myprog' (x86_64) dyld: Library not loaded: libmycore.1.dylib Referenced from: /.../myprog Reason: image not found Process 58785 stopped DYLD_LIBRARY_PATH 설정 로드 되지 않는 libmycore.1.dylib 가 /mylib 에 있다면 DYLD_LIBRARY_PATH 에 추가 해 준다. export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/mylib/ 그래도 안된다면 /usr/lo..
gcc 로 컴파일 할 때 a 라이브러리가 b 라이브러리를 필요로 한다면 -la -lb 이런식으로 라이브러리 옵션을 적어 주어야 한다. a 라이브러리에서 b 라이브러이의 func_b 함수를 호출하는데 -lb 가 없거나 -lb 가 -la 앞에 있다면 a 라이브러리에서 b 라이브러이의 func_b 함수를 찾지 못하게 된다. 그런 경우 빌드 할 때 다음과 같이 undefined reference 오류가 발생하게 된다. a.c:111: undefined reference to `func_b' 공통적으로 참조 하는 라이브러리들은 가급적 뒤쪽에 배치 해 두는 것이 속편하다.
Tips and Tricks for sendmail Hackers 에 가 보면 STARTTLS 기능을 좀 더 활성화 해 주는 빌드 옵션 정보가 있다. 공식적으로 지원 하는 기능들은 아니지만 기능은 구현 되어 있다. 빌드 옵션 추가 STARTTLS 기능을 좀 더 활성화 하려면 _FFR_TLS_1 를 추가해 주면 된다. .m4 파일에 다음 내용을 추가 해 준다. APPENDDEF(`confENVDEF', `-D_FFR_TLS_1')dnl FFR TLS 적용 된 sendmail 인지 확인 하는 방법 strings sendmail | grep CipherList sendmail 버전 정보에서 확인하기 TODO 확인 및 수정 필요 $ sendmail -d0.13 < /dev/null | grep F..
Sometimes you will need TLS support when building sendmail and use it. Add the following lines to the m4 file. APPENDDEF(`conf_sendmail_ENVDEF', `-DSTARTTLS') APPENDDEF(`conf_sendmail_LIBS', `-lssl -lcrypto') If you want to build with a specific version of the openssl library, add confINCDIRS and confLIBDIRS as follows. APPENDDEF(`confINCDIRS', `-I/usr/local/ssl/include') APPENDDEF(`confLIBDIRS'..