Я хочу создать проект DLL C++ Builder, который не использует VCL. Но я получаю эту ошибку в sysmac. Кто-нибудь знает возможную причину этой ошибки?C++ Builder [Ошибка C++] sysmac.h (58): Заявление E2040 неверно завершено
ответ
В догадке (потому что это около 5 лет, так как я бы с C++ Builder) это потому, что sysmac.h требует VCL, от этого VCL Overview
__declspec ключевого слова предоставляется поддержки языком с VCL до Преодоление ранее упомянутых предметов. Файл sysmac.h предоставляет макросы, которые вы должны использовать, если вам нужно , чтобы использовать это ключевое слово. В __declspec варианты обсуждаются в следующем
Мне не нужны sysmac и VCL. Могу ли я экспортировать функции в DLL без «__declspec» в C++ Builder? – samir105
Я знаю, что вы можете создавать собственные библиотеки Win32 и dll с C++ builder (я использовал это), но у меня больше нет копии, и это много лет с тех пор, как я ее использовал. Извините, я не могу больше помочь. –
Это означает, что вы в том числе заголовок VCL где-то в вашем проекте - скорее всего, в файле, который компилируется как блок C (следовательно, синтаксических ошибок).
В опции проекта вы можете включить «Расширенная информация об ошибке», чтобы отслеживать ответственный модуль.
E2040 Декларация завершается некорректно (C++)
декларация имеет дополнительный или неправильный символ завершения, например, после того, как точка с запятой помещенной тела функции.
Функция члена C++, объявленная в классе с точкой с запятой между заголовком и открывающей левой скобкой, также генерирует эту ошибку.
разместить код, который вызывает проблему – 2009-03-30 11:04:11
Это большой проект, и блок, который содержит строку ошибки, является системным блоком C++ Builder. – samir105
@ samir105 - посмотрите на это эссе: http://www.catb.org/~esr/faqs/smart-questions.html Даже с конкретным сообщением об ошибке никто из нас не сможет дать вам разумные советы без видя ваш исходный код. –