Интегрировать классы проекта C32 Win32 Console в проект Visual C ++ (приложение Windows Form) в Visual Studio 2008 - PullRequest
2 голосов
/ 05 марта 2010

Я написал несколько классов, бэкэнд проекта на C ++ (проект win32), а затем хотел добавить к нему графический интерфейс. Visual C ++ казался хорошим решением, но после выполнения части графического интерфейса я не смог интегрировать простой код C ++. У кого-нибудь есть опыт с этим? Я получаю ошибку «неразрешенные внешние». По-видимому .cpp файлы не связаны на последнем шаге. Я думаю, что некоторые параметры проекта также должны быть изменены, кто-то может объяснить, что именно?

Я также думал о компиляции классов в .dll и импорте их в визуальный проект C ++, возможно ли это как-то или эти два проекта могут быть скомпилированы вместе?

Спасибо за помощь, я уже давно с ней играюсь, но не могу найти никакого рабочего решения.

Золтан

Ответы [ 4 ]

0 голосов
/ 08 сентября 2010

Учитывая, что недостаточно подробностей, чтобы действительно сказать, что происходит, у меня есть множество возможностей.

  • Код для вашей серверной части не компилируется (файлы cpp для проекта не являются частью проекта GUI или связанных зависимостей), если вы не связываете серверную часть отдельно.
  • Библиотека для вашего внутреннего проекта не связана с; проверьте раздел ссылок свойств проекта. В случае, если вы ссылаетесь отдельно.
  • Внутренние библиотеки и библиотеки внешнего интерфейса были скомпилированы с различными настройками, и во время соединения это вызывает проблемы. Например, отладка и выпуск стандартных библиотек, многопоточных или однопоточных библиотек; Кроме того, различные определения строк могут вызвать проблемы, если они не совпадают (особенно, если вы использовали код шаблона).

Вполне возможно построить dll с бэкэнд-частью, если хотите. Если это не будет использоваться чем-то еще, я бы, вероятно, не стал бы беспокоиться и просто связывал бы статически, но вы, конечно, можете.

0 голосов
/ 05 марта 2010

Как вы импортируете эти старые классы в ваш проект C ++ GUI? Как библиотека или просто исходные файлы?

Если вы просто исходные файлы, вы можете просто добавить файлы в свой проект и скомпилировать их вместе с новыми файлами.

0 голосов
/ 16 апреля 2010

Если ваш внутренний код интегрирован как отдельный проект, создающий библиотеку, вам нужно добавить зависимость от этого проекта в ваше приложение с графическим интерфейсом.

Если вы не интегрировали проект в решение с графическим интерфейсом, вам нужно установить включаемые каталоги, добавить библиотеку lib в linker-> input, а также сообщить VS, как найти ее, установив дополнительный каталог библиотеки в опциях компоновщика. 1003 *

0 голосов
/ 05 марта 2010

«Project A» необходимо импортировать заголовки «Project B», а также ссылку на «Project B».

...