Загрузка и запуск плагина Claing Clang в Windows с двоичными файлами MSYS2 CLANG64 не работаетC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Загрузка и запуск плагина Claing Clang в Windows с двоичными файлами MSYS2 CLANG64 не работает

Сообщение Anonymous »

Я работаю с Clang в Windows, в частности, пакеты Clang64 Mingw, которые ссылаются на Libc ++.
Я пытался создать свой собственный плагин Clang, и эта часть прошла нормально.
Проблема заключается в загрузке и использовании плагина, он никогда не может найти плагин.#include "clang/Frontend/FrontendPluginRegistry.h"
#include "clang/AST/ASTConsumer.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/AST/RecursiveASTVisitor.h"

using namespace clang;

namespace {
class MyVisitor : public RecursiveASTVisitor {
public:
bool VisitFunctionDecl(FunctionDecl *f) {
if (f->hasBody())
llvm::errs()
cmake_minimum_required(VERSION 3.13)

project(MyPlugin LANGUAGES CXX C)

set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})

find_package(LLVM REQUIRED CONFIG)
find_package(Clang REQUIRED CONFIG)

message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
message(STATUS "Found Clang ${Clang_DIR}")

include_directories(${LLVM_INCLUDE_DIRS})
include_directories(${CLANG_INCLUDE_DIRS})
add_definitions(${LLVM_DEFINITIONS})

add_library(MyPlugin SHARED plugin/plugin.cpp)

# Link with Clang libraries
target_link_libraries(MyPlugin
PRIVATE
clangTooling
clangFrontend
clangAST
clangBasic
)
< /code>
И это командный вызов Clang для создания простой программы с помощью плагина: < /p>
clang++ plugin/main.cpp -Xclang -load -Xclang ./libMyPlugin.dll -Xclang -plugin -Xclang test-plugin
< /code>
Это то, что Clang сообщает: < /p>
error: unable to find plugin 'test-plugin'


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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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