Ошибка компиляции C++: zmq.hpp не найден при использовании ZeroMQ с VSCode и MinGW-w64Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка компиляции C++: zmq.hpp не найден при использовании ZeroMQ с VSCode и MinGW-w64

Сообщение Anonymous »

Я разрабатываю проект C++, который использует библиотеку ZeroMQ для связи с Python и MetaTrader 4 (MT4). Я настраиваю свою среду разработки в Windows, используя VSCode и MinGW-w64 в качестве компилятора.
Шаги, которые я предпринял на данный момент:
< сильный>1. Клонирование репозитория cppzmq:

Код: Выделить всё

git clone https://github.com/zeromq/cppzmq.git
2. Создание каталога для включаемых файлов ZeroMQ:

Код: Выделить всё

mkdir C:\ZeroMQ\include\cppzmq
3.Копирование файла zmq.hpp в каталог Include:

Код: Выделить всё

Copy-Item "C:\Users\Leonardo Alves\Desktop\Python Projects\project_socket\cppzmq\zmq.hpp" "C:\ZeroMQ\include\cppzmq\"
4.Настройка Tasks.json в VSCode:

Код: Выделить всё

{
"version": "2.0.0",
"tasks": [
{
"label": "Build DLL (Debug)",
"type": "shell",
"command": "g++",
"args": [
"-shared",
"-o", "output/mq4socket.dll",
"mq4socket.cpp",
"-I", "C:/ZeroMQ/include",
"-L", "C:/ZeroMQ/lib",
"-lzmq",
"-g"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": ["$gcc"]
},
{
"label": "Build Test App (Debug)",
"type": "shell",
"command": "g++",
"args": [
"-o", "output/test_app.exe",
"test_app.cpp",
"-I", "C:/ZeroMQ/include",
"-L", "C:/ZeroMQ/lib",
"-lzmq",
"-g"
],
"group": {
"kind": "build",
"isDefault": false
},
"problemMatcher": ["$gcc"]
}
]
}

5. Настройка c_cpp_properties.json в VSCode:

Код: Выделить всё

{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/ZeroMQ/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:/mingw64/bin/g++.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
Проблемы:
При попытке скомпилировать код mq4socket.cpp я получаю следующую ошибку:

Код: Выделить всё

c:\Users\Leonardo Alves\Desktop\Python Projects\project_socket\mq4socket.cpp:3:10: fatal error: zmq.hpp: No such file or directory
3 | #include 
|          ^~~~~~~~~
compilation terminated.

Что я проверил:
  • Файл zmq.hpp присутствует по адресу C:\ZeroMQ\include\cppzmq\zmq.hpp.
  • Пути включения и библиотеки в файле Tasks.json кажутся правильными.
  • Библиотеки ZeroMQ присутствуют в C:\ZeroMQ\lib.
Вопросы:
  • Как устранить ошибку, из-за которой zmq.hpp не обнаруживается во время компиляции?
  • Следует ли мне изменить путь включения или способ включения zmq.hpp в мой код?
  • Есть ли какие-либо другие конфигурации, которые мне следует проверить, чтобы компилятор мог найти файлы заголовков и библиотеки ZeroMQ?
Соответствующий фрагмент моего кода (mq4socket.cpp):

Код: Выделить всё

#include 
Текущая конфигурация Tasks.json:

Код: Выделить всё

{
"version": "2.0.0",
"tasks": [
{
"label": "Build DLL (Debug)",
"type": "shell",
"command": "g++",
"args": [
"-shared",
"-o", "output/mq4socket.dll",
"mq4socket.cpp",
"-I", "C:/ZeroMQ/include",
"-L", "C:/ZeroMQ/lib",
"-lzmq",
"-g"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": ["$gcc"]
},
{
"label": "Build Test App (Debug)",
"type": "shell",
"command": "g++",
"args": [
"-o", "output/test_app.exe",
"test_app.cpp",
"-I", "C:/ZeroMQ/include",
"-L", "C:/ZeroMQ/lib",
"-lzmq",
"-g"
],
"group": {
"kind": "build",
"isDefault": false
},
"problemMatcher": ["$gcc"]
}
]
}

Текущая конфигурация c_cpp_properties.json:

Код: Выделить всё

{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/ZeroMQ/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:/mingw64/bin/g++.exe",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}

Будем очень признательны за любую помощь или рекомендации по решению этой проблемы!

Подробнее здесь: https://stackoverflow.com/questions/791 ... -and-mingw
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • В mingw/msys2 используйте «pip install abc» или «pacman -S mingw-w64-i686-python-abc»?
    Anonymous » » в форуме Python
    0 Ответы
    98 Просмотры
    Последнее сообщение Anonymous
  • Поддерживает ли MinGW-w64 стандартный std::thread при использовании модели потоков Win32?
    Anonymous » » в форуме C++
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Как вызвать ошибку ZeroMQ zmq.EVENT_HANDSHAKE_FAILED_PROTOCOL?
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как вызвать ошибку ZeroMQ zmq.EVENT_HANDSHAKE_FAILED_PROTOCOL?
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как вызвать ошибку ZeroMQ zmq.EVENT_HANDSHAKE_FAILED_PROTOCOL?
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»