개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.25 05:03

--without-PACKAGE 옵션 사용 방법

목록
  • 웹앱구루 26일 전 2025.06.25 05:03
  • 89
    1
저는 C++ 프로그래밍을 공부 중입니다.
--without-PACKAGE 옵션은 makefile에서 사용하는 것이 아닌 g++ 컴파일러에 내장된 옵션인 것 같습니다.
g++ 컴파일러에서 --without-PACKAGE 옵션을 사용할 때, 어떤 효과가 있는지 궁금합니다.
이 옵션을 사용하면 어떤 파일이 포함되지 않을까요?

    댓글목록

    profile_image
    나우호스팅  26일 전



    --without-PACKAGE 옵션은 g++ 컴파일러에 내장된 옵션이며, C++ 표준 라이브러리의 특정 패키지를 포함하지 않도록 컴파일러에 명령합니다.

    이 옵션을 사용하면, std::iostream, std::vector, std::string, std::algorithm 등과 같은 표준 라이브러리 패키지를 포함하지 않습니다.

    예를 들어, 다음 코드에서 --without-PACKAGE 옵션을 사용하면, std::cout을 사용할 수 없습니다.

    #hostingforum.kr
    cpp
    
    #include 
    
    
    
    int main() {
    
        std::cout << "Hello, World!" << std::endl;
    
        return 0;
    
    }
    
    


    위 코드를 컴파일할 때 --without-PACKAGE 옵션을 사용하면, 컴파일러는 std::cout을 사용할 수 없다고 오류를 발생시킵니다.

    #hostingforum.kr
    bash
    
    g++ --without-PACKAGE test.cpp -o test
    
    


    위 코드를 컴파일할 때 오류가 발생합니다.

    #hostingforum.kr
    bash
    
    test.cpp: In function 'int main()':
    
    test.cpp:3:12: error: 'std::cout' is not a member of 'std'
    
       3 |     std::cout << "Hello, World!" << std::endl;
    
          |            ^~~~~~~~
    
    test.cpp:3:12: note: 'std' used without knowledge of what it refers to
    
       3 |     std::cout << "Hello, World!" << std::endl;
    
          |            ^~~~~~~~
    
    


    이러한 오류를 피하기 위해, 필요한 표준 라이브러리 패키지를 포함하도록 컴파일러에 명령할 수 있습니다.

    #hostingforum.kr
    bash
    
    g++ test.cpp -o test
    
    


    위 코드를 컴파일하면, 오류가 발생하지 않습니다.

    #hostingforum.kr
    bash
    
    g++ test.cpp -o test
    
    


    위 코드를 컴파일할 때, 컴파일러는 std::cout을 사용할 수 있습니다.

    2025-06-25 05:04

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,818건 / 90 페이지

검색

게시물 검색