PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2009/01/08 19:02:38
Name MoreThanAir
Subject 개발자 분들 중에 비주얼 스튜디오 통합환경에서 모듈 프로그래밍 해보신분 계십니까?
외부 변수를 사용해서 각 프로젝트 간에 변수에 접근할 수 있도록 할 예정입니다.

IDE----- Proj A ------ Define idata
           |
            -- Proj B ------ Use idata

이런 구조로 일단 만들었습니다.

Proj A는 외부변수를 선언하는 부분이니 컴파일이 일단 잘 되었습니다.

그런데 Proj B를 컴파일 하는 동안에 Link error가 발생합니다.

외부변수 idata가 있는 것을 참조를 하지 못해서 그런 것 같은데요.

Proj A의 어떤 파일을 참조해야 제대로 링크를 시킬 수 있나요?

또 Proj B의 어디서 그걸 세팅해야 하는지도 좀 알려주십시오.

감사합니다.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
chcomilk
09/01/08 19:10
수정 아이콘
Proj A가 라이브 러리 인가요?
라이브러러라면 Proj B 에서 Proj A의 결과 라이브러리를 Link 해주어야 합니다.
MoreThanAir
09/01/08 19:21
수정 아이콘
chcomilk님// Proj A,B는 프로젝트 이름입니다. 하나의 통합환경에서 두 개의 프로젝트를 만들고 하나의 외부변수를 양쪽 프로젝트에서 다 접근할 수 있게 할 생각입니다. 일반적인 LINK에러는 라이브러리를 포함시켜주면 되는데요. 이건 외부변수 선언쪽에서 링크에러가 나버립니다. 제 생각에는 Proj A에서 외부변수를 정의한 정보를 가진 파일을 Proj B가 빌드시에 인식을 해야할 것 같은데 그 방법을 잘 모르겠네요...
09/01/08 19:58
수정 아이콘
일단, Proj가 dll 인가요? 아니면 정적 라이브러리인가요?
dll 이라면 __dllexport, __dllimport를 이용해서 한쪽에서 선언하고 한쪽에서는 extern 참조를 해야 하고,
정적 라이브러리라면 한쪽에서는 그냥 선언하고, 다른 한쪽에서는 extern 선언을 해서 참조하면 됩니다.
MoreThanAir
09/01/08 20:32
수정 아이콘
AhnGoon님// 일단 외부변수를 사용만하는 쪽은 C로 작성된 DLL이고 외부변수가 정의된 곳은 FORTRAN코드입니다.

FORTRAN쪽에서 common 블록을 사용해서 외부로 값이 나가게 한 상태인데...

extern int idata;

extern "C" __declspec(dllexport) void compute()

idata=343;
return;


위의 간단한 코드가 컴파일이 안됩니다.

오류 1 error LNK2001: "int idata" (?idata@@3HA) 외부 기호를 확인할 수 없습니다. ModuleProgDLL.obj ModuleProgDLL

이런 에러가 나오는데요... 단지 여기서는 extern으로 선언만 해두는 것인데 왜 링크에러가 나는지를 모르겠습니다...ㅠ.ㅠ
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
48139 갑자기 몸이 치킨에 대한 거부반응을 일으키고 있습니다. [3] 강수장2117 09/01/08 2117
48138 일산 마두역 근처에 사시는 분 질문이요! beloved2014 09/01/08 2014
48137 수학(?) 관련 질문입니다~ [13] ILikeOOv2152 09/01/08 2152
48136 한달에 애인은 몇번 만나시나요? [14] 비몽3077 09/01/08 3077
48135 스타리그 맵 타일 질문~ [9] Cand2128 09/01/08 2128
48134 넷북 질문드립니다~ [4] 이준수1822 09/01/08 1822
48133 개발자 분들 중에 비주얼 스튜디오 통합환경에서 모듈 프로그래밍 해보신분 계십니까? [4] MoreThanAir2130 09/01/08 2130
48132 여러분들은 좋아하는 이성에게 어떻게 대쉬 하나요??? [1] 친절한 메딕씨2125 09/01/08 2125
48130 삼국지시리즈추천해주세요! [16] 오예스2517 09/01/08 2517
48129 토스vs토스 김재혁1515 09/01/08 1515
48128 운전면허증을 딸려고 하는데 질문요. [4] 짠놈1510 09/01/08 1510
48127 여권기간연장 관련. [2] 트리티1882 09/01/08 1882
48126 하드디스크 버퍼 관련 질문하나요~~ [4] A.ra.shi2126 09/01/08 2126
48125 그래픽카드 업그레이드 질문입니다 [3] 학교얘들1639 09/01/08 1639
48124 베넷 게임 중... [4] Dementia-1840 09/01/08 1840
48123 친누나 생일선물 [9] Espio2451 09/01/08 2451
48122 소희가 이쁜거맞는가요? [17] 아레스2612 09/01/08 2612
48121 소녀시대는 왜 윤아 태연 빼고 다들 잘 못나가는거죠? [32] VerseMan2965 09/01/08 2965
48120 여행지 질문입니다.(부산출발) 므흣쿠마1538 09/01/08 1538
48119 이제동선수대 김택용선수 다전제로 해서 김택용선수가 진적이 있나요? [7] 자유지대2394 09/01/08 2394
48118 롤플레잉 게임 추천 부탁드립니다~ [9] 키라야마토2155 09/01/08 2155
48117 제주도 콜택시 여행 질문입니다. [9] 연신내2993 09/01/08 2993
48116 램문제에 질문드립니다. [2] PoCket1590 09/01/08 1590
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로