Проблемы при создании статической библиотеки C ++ - PullRequest
1 голос
/ 30 декабря 2011

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

Проблема: Компилятор, похоже, не отлавливает ошибок, которые были бы в противном случае, если бы он был сконфигурирован как исполняемая программа в Project-> Properties> General.На самом деле я нарочно допустил синтаксическую ошибку, и компилятор дал мне успех независимо от этого.

Есть ли способ заставить компилятор проверять все при сборке статической библиотеки?

Среда построения: Visual Studio 2010

РЕДАКТИРОВАТЬ: Как оказалось, это была довольно простая, но невероятно тонкая ошибка.Оказывается, Visual Studio рассматривал некоторые из моих файлов .cpp как файлы заголовков.Из-за этого компилятор вообще не выполнял код (никто не включает файлы .cpp).При добавлении файлов в библиотеку я должен был случайно выбрать заголовок вместо файла C ++.Я думал, Visual Studio будет только переименовать файл заголовка.Наверное, я ошибался!

Ответы [ 2 ]

4 голосов
/ 30 декабря 2011

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

(Опять же, C ++ имеет довольно странный синтаксис; надеюсь, вы уверены, что то, что вы сделали, на самом деле было синтаксической ошибкой, а не синтаксически допустимой языковой конструкцией.)

0 голосов
/ 30 декабря 2011

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

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