VS 2005에서 다른 프로젝트에 정의된 오브젝트 참조불가..ㅠㅠ

litnsio2의 이미지

머.. 이런내용은 아무래도 데브피아가 낫겠지만, 데브피아 안간지 3년은 넘은것 같고, firefox로 글하나 올리려면 왠지 열통터질것 같아서 이곳에 질문을 드립니다.. 꾸벅.

음 다름이 아니라 VS 2005에서 C++ 솔루션을 하나 만들고 이 아래에 몇개의 프로젝트를 만들었습니다.

그중 하나는 유닛테스트 프로젝트인데요, 다른 프로젝트에 있는 클래스를 사용하려고 하다보니(소스, 헤더 모두 다른 폴더에 존재), 이놈이 클래스 생성자를 못찾고 계속 링크 오류를 내는군요. 이를위한 옵션이 분명 있긴 할텐데.. (프로젝트속성-공용속성-참조 인줄 알았는데 아닌것 같군요ㅠㅠ)

정녕 다른 프로젝트에 있는 오브젝트를 인스턴스화 해서 사용할 길이 없는 것인지.. 조언부탁드립니다. ㅠㅠ

익명사용자의 이미지

질문이 명확하지 않아요.
생성자를 못찾는다는 건지
아니면 다른 프로젝트의 오브젝트를 못찾는다는 건지.
다른 프로젝트는 라이브러리겠죠?

litnsio2의 이미지

밥먹기 전에 쓴글이라 좀 대충 썼는데, 죄송합니다.-.-;

솔루션S 아래에 프로젝트 P1 P2 가 있고..
P1는 기본 APP에 해당하는 프로젝트이고 (P1 아래에 C1, C2, C3 라는 클래스가 있다고 가정하죠..)
P2는 유닛테스트용 프로젝트입니다.

P2에서 C1 에 대한 유닛테스트를 하려고 하는데,

void TestCase::testC1()
{
C1 c;
assertEquals(cond1);
assertEquals(cond2);
...
}

이런 코드를 작성하면 문제가 생깁니다.

public: __thiscall InsertQuery::InsertQuery(void)" (??0InsertQuery@@QAE@XZ) 외부 기호(참조 위치: "private: void __thiscall TestQuery::testInsertQuery(void)" (?testInsertQuery@TestQuery@@AAEXXZ) 함수)에서 확인하지 못했습니다.

즉 testSomething에서 객체 c를 만들지 못한다는 소리인데요,

---
생성자를 못찾는다는 건지
아니면 다른 프로젝트의 오브젝트를 못찾는다는 건지.
---

제 질문의 맥락에서는 두 질문이 결국 같은 의미인 것 같습니다. (생성자가 있다는건 아는데 어디있는지 모른다 => 분명 생성자 코드는 오브젝트 파일에 있을테니 말이죠)

---------------------
Weird, huh?

http://janbyul.com

익명사용자의 이미지

---
생성자를 못찾는다는 건지
아니면 다른 프로젝트의 오브젝트를 못찾는다는 건지.
---

제 질문의 맥락에서는 두 질문이 결국 같은 의미인 것 같습니다. (생성자가 있다는건 아는데 어디있는지 모른다 => 분명 생성자 코드는 오브젝트 파일에 있을테니 말이죠)

===

달라요.
extern C1 c;
에서 링크 에러를 내면 c 오브젝트를 못찾는다는 거고
지금은 C1의 생성자를 못찾는다는 거예요.
혹시 C1의 생성자가 들어있는 obj나 lib 파일을 같이 링크하셨어요?

litnsio2의 이미지

obj 파일은 어떻게 링크를 시켜야 할까요? -.-a

---------------------
Weird, huh?

http://janbyul.com

kslee80의 이미지

프로젝트 - 프로젝트 종속성을 설정해보세요.
(P2 가 P1 에 종속성을 가지게끔 말이죠)

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.