주메뉴 바로가기 본문 바로가기 하단 바로가기

고객지원

기술문의

다음과 같이 CPLEX11.0과 VC2005 와 연동하였습니다. 문제점이 뭘까요?

  • 권순욱
  • 2009.07.06
  • 조회수 2,319
VC2005에서 새로운 프로젝트를 생성한 후 CPLEX 예제에 있는 소스를 하나 긁어다 붙인 후 다음과 같이 설정하고 테스트 해봤습니다. (바탕화면의 test라는 폴더에서 작업함)


1. msvc 2005 시작 후 “메뉴”에서 도구-옵션-프로젝트및솔루션-VC++디렉터리로 가서,

포함화일에 다음을 추가시킨다.

C:\ILOG\Concert25\include
C:\ILOG\CPLEX110\include
C:\ILOG\Solver65\include
C:\ILOG\OPL55\include
C:\ILOG\Scheduler65\include
C:\ILOG\Dispatcher45\include


그리고 라이브러리파일에 다음도 추가한다.

C:\ILOG\Concert25\lib\x86_.net2005_8.0\stat_mda
C:\ILOG\CPLEX110\lib\x86_.net2005_8.0\stat_mda
C:\ILOG\Solver65\lib\x86_.net2005_8.0\stat_mda
C:\ILOG\Scheduler65\lib\x86_.net2005_8.0\stat_mda
C:\ILOG\OPL55\lib\x86_.net2005_8.0\stat_mda
C:\ILOG\Dispatcher45\lib\x86_.net2005_8.0\stat_mda


2. 솔루션 탐색기의 해당 프로젝트의 속성을 오픈

3. 구성속성 일반에서 출력디렉터리와 중간디렉터리를 바탕화면에 만들어둔 폴더로 다음과 같이 설정함.

C:\Documents and Settings\Administrator\바탕 화면\test



4. 구성속성 C/C++ 일반에서 경고 수준을 “수준2”, 64비트이식성문제 점검을 “아니오”로 한다.

5. 구성속성 C/C++ 전처리기에서 전처리기 정의에 “IL_STD”를 추가

6. 구성속성 C/C++ 코드생성에서 구성관리자에 들어가서
활성솔루션 구성을 Release로 바꾸고 런타임라이브러리를 다중 스레드 DLL(/MD)로 설정한다.

7. 구성속성 링커 입력에서 추가종속성에 wsock32.lib, cplex110.lib, ilocplex.lib, concert.lib, solver.lib, schedule.lib, dispatch.lib를 추가

8. 구성속성 링커 입력 특정 라이브러리 무시에서 libc.lib를 추가



이렇게 설정 후 에 실행을 시켰더니 다음과 같은 오류가 생겼습니다.


1>------ 빌드 시작: 프로젝트: test, 구성: Release Win32 ------
1>링크하고 있습니다...
1>LINK : fatal error LNK1104: 'msvcprt.lib' 파일을 열 수 없습니다.
1>빌드 로그가 "file://C:\Documents and Settings\Administrator\바탕 화면\test\BuildLog.htm"에 저장되었습니다.
1>test - 오류: 1개, 경고: 0개
========== 빌드: 성공 0, 실패 1, 최신 0, 생략 0 ==========




어떤 부분이 잘못된건지 짚어주시면 감사하겠습니다.


예제 소스를 제가 만든 프로젝트에 붙이지 않고 그냥 실행시켜보아도 같은 결과가 나오네요.

혹시 아시는 부분이라면 부탁드리겠습니다.

댓글 1

  • 이보헌2009-07-07
    ILOG S/W 관련한 VS설정은 모두 정상적으로 잘 된것 같습니다.

    * 결론부터 말씀 드리면, C++에 관련된 에러 메시지로 ILOG S/W와는 관계가 없는 에러 메시지 입니다.
    Msvcprt.lib 표준 C++ 라이브러리의 DLL Build 에 대한 임포트 라이브러리입니다.

    사족을 달자면,
    1. [도구]-[옵션] 에서 설정된 포함화일 및 라이브러리 파일은 [프로젝트]->[(프로젝트명)속성] 에서 설정된것 보다 우선순위가 뒤에 있습니다. 즉, 두군데 모두 설정하셨을 경우 [프로젝트]-[속성]의 설정이 읽힙니다.

    2. cplex만 사용하실 경우 Scheduler, Dispatcher, Solver 관련된 설정은 지우셔도 됩니다.

    3. 경고수준 및 libc라이브러리 무시는 하실 필요 없습니다.(아마도 다른 이유로 설정하신 것 같습니다. )

    4. [프로젝트]-[속성]창의 왼쪽위에 [구성]리스트의 debug모드와 rerease모드에 따라 속성이 따로 적용됩니다. (두번 설정 해야됩니다. )
    또한 Debug 모드일경우에는 /MDd 를 선택해 주시면 됩니다.


    아이콘삭제

댓글 입력