Как вы можете вызвать метод из другого проекта, как в C ++? - PullRequest
2 голосов
/ 15 апреля 2011

Я обычно работаю в c #, поэтому некоторые вещи в c ++ продолжают меня сильно смущать (они кажутся такими разными, но названия почти одинаковые)

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

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

код для класса можно найти здесь (игнорируйте часть c #), консоль - это просто стандартная консоль, в которой пока ничего нет.

Ответы [ 2 ]

3 голосов
/ 15 апреля 2011

Да, в C ++ нет понятия сборок , существующего в C # и .NET. Это делает такие задачи немного более сложными, в силу того, что C ++ компилируется непосредственно в нативный код.

Вместо этого вы, как правило, #include нужных заголовочных файлов (*.h) вверху своего файла кода и поручаете компоновщику ссылаться на соответствующие .lib файлы. Сделайте это, перейдя в Свойства вашего проекта, выбрав Линкер -> Ввод, и добавив файл в раздел «Дополнительные зависимости».

В качестве альтернативы связыванию с файлом .lib вы можете использовать Visual Studio, чтобы добавить ссылку на другой проект, если он является частью того же решения. У Microsoft есть пошаговое руководство по созданию и использованию библиотеки динамических ссылок на C ++ , которую, возможно, стоит прочитать.

2 голосов
/ 15 апреля 2011

Я предполагаю, что вы используете Visual Studios :-).Вы должны указать компилятору, где искать его включения.Под Visual Studios откройте страницу свойств для проекта, затем перейдите в Configuration Properties-> C / C ++ -> General и добавьте необходимые каталоги в запись Additional Include Каталоги.(Если другой проект находится в том же решении, используйте относительный путь. Но я думаю, что диалоговое окно, которое появляется, когда вы нажимаете кнопку справа, делает это автоматически. Я не большой поклонник всего этого графического интерфейсав целом, но Microsoft, похоже, справилась с этой задачей довольно хорошо.)

После того, как вы это сделаете, вам, возможно, придется пройти аналогичный процесс для линковки: на этот раз это в Configuration Properties-> Linker-> Общие, и запись называется Дополнительные каталоги библиотек, но принцип тот же.(В этом может не быть необходимости, если вы помещаете все dll и исполняемые файлы проекта в один и тот же каталог.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...