Режим отладки работает.Режим выпуска генерирует ОШИБКИ в изобилии! - PullRequest
1 голос
/ 11 марта 2011

У меня есть решение, которое использует собственную библиотеку .DLL, которая обернута .NET .DLL с C # GUI.

Вся моя сантехника прекрасно работает в режиме отладки. В тот момент, когда я пытаюсь перейти в режим Release, я получаю массу сообщений об ошибках, в основном связанных с файлами .CPP в нативной библиотеке. Ошибки включают следующее:

  1. определение функции dllimport не разрешено
  2. TRACE_DEBUG_METHOD_CALL: идентификатор не найден
  3. много необъявленных идентификаторов в моем основном файле .CPP (например, DLLAPI_Release: необъявленный идентификатор)

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

ТАКЖЕ, есть книга, посвященная окну свойств проекта в VS2010, в частности? У меня есть несколько книг, но на самом деле ни одна из них не посвящена тому, что, несомненно, является очень важным компонентом для серьезной разработки приложений.

Я ценю любую помощь, которую может предложить каждый. Спасибо!

Ответы [ 2 ]

2 голосов
/ 12 марта 2011

Это вряд ли произойдет, когда вы внесли несколько изменений настроек, но также не сделали их для сборки выпуска.Легко забыть, в первый раз в любом случае.Вы можете легко сказать, какие настройки были изменены по умолчанию, они отображаются жирным шрифтом.Пройдите по страницам настроек, пролистайте взад-вперед с помощью комбинированного списка Конфигурации в верхнем левом углу.

Около 15 минут вашей жизни, не считая необходимого вам времени на обдумывание, потому что настройка должна будет отличаться для сборки выпуска.Запустите другой экземпляр Visual Studio с фиктивным проектом, чтобы проверить это.

1 голос
/ 11 марта 2011

Попытка сравнить страницы свойств может быть избиением. Я бы порекомендовал открыть страницы свойств для вашего проекта, выбрать конфигурацию отладки, а в разделе «C / C ++» выбрать «Командная строка» и скопировать параметры командной строки в текстовый редактор, а затем сделать то же самое для конфигурации выпуска. и посмотрим, чем они отличаются. Вам нужно будет сделать то же самое для командной строки «Линкер».

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

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

Что касается справки, лучшим справочником является документация по компилятору в MSDN. Существует раздел, содержащий все документированные параметры компилятора , и один, содержащий все документированные параметры компоновщика .

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

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