Пишу небольшой кроссплатформенный проект на qt5 + cmake с использованием protobuf. На linux всё собирается замечательно но на windows cmake не может выполнит команду find_package(Protobuf REQUIRED)
. Протобуф устанавливал как указано тут. В итоге у меня есть папка с библиотекой но как мне заставить Cmake находить эту папку как источник библиотеки? Пробовал заносить пути в переменные среды под различными именами но это не помогает.
CMake скрипт:
cmake_minimum_required(VERSION 3.7)
project(untitled3)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS} -std=c++17 -Wall -pthread")
# Подключаем протобуф.
find_package(Protobuf REQUIRED)
include_directories(${PROTOBUF_INCLUDE_DIRS})
include_directories(${CMAKE_CURRENT_BINARY_DIR})
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
find_package(Qt5Widgets REQUIRED)
include_directories(${Qt5Widgets_INCLUDES})
add_executable(${PROJECT_NAME}
...
)
target_link_libraries(${PROJECT_NAME} ${PROTOBUF_LIBRARIES})
qt5_use_modules(${PROJECT_NAME} Widgets Core Network)
ну, например можно так
if(${CMAKE_SYSTEM_NAME} STREQUAL Windows)
...........
include_directories ("d:/library/include")
link_directories( "d:/library/lib")
...........
elseif(${CMAKE_SYSTEM_NAME} STREQUAL Linux)
..................
endif()
можно ли писать такой код:
Есть указатель на член, нужно получить числовое представление этого адреса, иными словами смещениеВ коде вот так:
Ранее пользовался Linux/Ubuntu и не было ни каких проблем с отладкой (использовался gcc + gdb)Сейчас перешел на MacOS и появилась большая проблема