2017-04-08 7 views
0

J'ai donc voulu apprendre le C++, j'ai une licence d'étudiant pour CLion et je suis familier avec d'autres logiciels de la société, donc je voudrais l'utiliser si possible. Utiliser MSYS2 semblait être un bon moyen de gérer facilement les bibliothèques, car cela a tendance à être infernal chaque fois que j'ai essayé de travailler avec C++.
MSYS2 semblait assez intuitif et j'ai réussi à installer la bibliothèque OpenCV comme test. Cependant, je ne comprends plus comment je lierais avec CLion.Utiliser les bibliothèques MSYS2 installées dans CLION

J'ai lu sur les fichiers CMake, et voici ce que je pensais devrait être le mien:

cmake_minimum_required(VERSION 3.7) 
project(letsee) 

set(CMAKE_CXX_STANDARD 11) 

find_package (OpenCV REQUIRED) 

set(SOURCE_FILES main.cpp) 
add_executable(letsee ${SOURCE_FILES}) 
target_link_libraries(letsee ${OpenCV_LIBS}) 

La dernière ligne, cependant, est censé être un lien entre une variable d'environnement. Je comprends que MSYS2 devrait gérer cela en quelque sorte, ou peut-être devrais-je créer ma propre variable d'environnement Windows? De toute façon je ne suis même pas sûr d'où je lierais une telle variable. Je suis juste incroyablement confus par ce point. Comment ne peut-on avoir créé une manière intuitive de gérer cela dans Windows dans une langue vieille de 40 ans.

+1

'OpenCV_LIBS' est une variable CMake qui doit être définie par' find_package'. Probablement que CLion n'exécute pas la configuration de CMake "de la bonne façon" en ce qui concerne msys2, donc il ne peut pas trouver le paquet OpenCV. –

+0

Que voulez-vous dire par "MSYS installé" bibliothèques? Avez-vous par hasard les installer en exécutant "configure & make & make install" comme une séquence? Votre affirmation à propos de "MSYS étant un bon moyen de gérer facilement les bibliothèques" est assez déroutante car MSYS a toujours été exactement le contraire. Je ne suis pas sûr comment clion, cmake et msys sont intégrés ensemble, mais en général ce serait une bonne idée de gérer manuellement toutes les bibliothèques (probablement en les gardant côte à côte dans un genre de dossier "workspace") et de compter sur installe et envvars aussi peu que possible. – dodo951

+0

MSYS2 vous permet d'utiliser les commandes pacman pour installer des bibliothèques à partir d'un référentiel. J'ai couru pacman -S * nom de la bibliothèque * et il a couru et installé. – Fuujin

Répondre

2

Je viens de télécharger et de configurer tout pour l'essayer. Voilà comment cela fonctionne:

  1. Installer MSYS2 et suivez le tutoriel sur leur site web (pacman -Syu, pacman -Su) - vous avez probablement fait déjà
  2. pacman -S mingw-w64-x86_64-toolchain (vous avez probablement fait cela aussi)
  3. pacman -S mingw-w64-x86_64-cmake Ceci est la étape importante. Nous utiliserons cette CMake au lieu du empaqueté un, parce que ce CMake travaille avec MSYS2 pacman bibliothèques
  4. Configurer Clion: MinGW: C:\msys64\mingw64 (ou similaire), CMake: C:\msys64\mingw64\bin\cmake.exe
  5. Clion peut vous avertir parce que CMake/GDB sont trop nouveau Cependant, je n'ai pas eu de problèmes jusqu'à maintenant

Editer: Je l'ai également testé avec le kit CMake en ce moment et cela a fonctionné aussi, hors de la boîte. Donc pas d'idée pourquoi ce n'est pas pour vous.