setup.py 윈도우에서 실행시 오류문제

조회수 417회

*Makefile의 코드

CXXFLAGS = -fPIC -Wall -Wextra -c -O3
LDFLAGS = -shared

pyrirgen.so: librirgen.so
        python setup.py build_ext --inplace

librirgen.so: rirgen.o
    $(CXX) $(LDFLAGS) -o librirgen.so rirgen.o

rirgen.o: rirgen.cpp
    $(CXX) $(CXXFLAGS) -std=c++11 rirgen.cpp

clean:
    rm -f librirgen.o
    rm -f librirgen.so
    rm -r pyrirgen.*.so

위와 같은 Makefile을 이용하는데 위 코드가 linux용이다보니 문제가 발생하는 것 같습니다.

setup.py를 mingw를 이용해 make 하면, 아래와 같은 오류 메시지가 발생합니다.

Link : fatal error LNK 1181: rirgen.lib 입력 하일을 열 수 없습니다.

setup.py는 다음과 같습니다.

extensions = [
    Extension("*", ["pyrirgen.pyx"],
        include_dirs=[
            os.path.abspath("."),
            np.get_include(),
        ],
            library_dirs=[os.path.abspath(".")],
            libraries=["rirgen"], 
            language='c++'
),

]

setup.py을 정상적으로 컴파일 하려면 어떻게해야하나요?

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 오류메세지는 rirgen.lib 정적 라이브러리를 못 찾는 겁니다. 정영훈 2020.9.26 16:20
  • 댓글 감사합니다. 말씀하신대로 " libraries = ["rirgen"]" 에서 문제가 발생합니다. rirgen.lib가 없어서요. makefile로부터는 rirgen.o와 librirgen.so가 생성되는데 이를 rirgen.lib로 생성할 방법은 없는지 알고 싶습니다. 알 수 없는 사용자 2020.9.29 17:40

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)