Перемещение функции из консольного приложения в проект с общей библиотекой, похоже, приводит к ошибке компиляции - PullRequest
0 голосов
/ 10 апреля 2019

Мое решение имеет несколько консольных приложений на С ++.Это решение также имеет сборку проекта в виде статической библиотеки (.lib).Эта библиотека используется во всех консольных приложениях для любых общих функций.Все эти проекты также используют различные библиотеки повышения.

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

c:\mySolution\packages\boost.1.69.0.0\lib\native\include\boost\asio\detail\impl\win_thread.ipp(90): error C2039: '_beginthreadex': is not a member of '`global namespace''
c:\mySolution\packages\boost.1.69.0.0\lib\native\include\boost\asio\detail\impl\win_thread.ipp(90): error C3861: '_beginthreadex': identifier not found

Эта функция использует библиотеку boost :: process и прекрасно работает из консольного приложения.Однако, когда я перемещаю ту же функцию в проект общей библиотеки, я начинаю видеть эту ошибку.Других предупреждений нет, и они не указывают ни на какой код моего приложения.Любая идея, что может быть причиной этой ошибки?

1 Ответ

1 голос
/ 10 апреля 2019

Из документации необходимо #include <process.h>.(Я использую приведенный ниже кодовый блок для разрешения форматирования таблицы ...)

Requirements

Routine               Required header

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