编写LLVM传递llvm源代码未定义的符号

时间:2018-05-24 12:52:52

标签: cmake llvm

我正在尝试从LLVM源代码构建LLVM传递。 我按照http://llvm.org/docs/CMake.html#developing-llvm-passes-out-of-source上的说明进行操作。 Makefile包含以下内容:

cmake_minimum_required(VERSION 3.4.3)
project(SimpleProject)

find_package(LLVM REQUIRED CONFIG)

set (CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_FLAGS "-std=c++11 -Wall -fno-rtti -D_GLIBCXX_USE_CXX11_ABI=0")

include_directories(${LLVM_INCLUDE_DIRS})
add_definitions(${LLVM_DEFINITIONS})
add_subdirectory(testpass)

和子目录中的Makefile:

add_library(TestPass MODULE TestPass.cpp)

传递构建完美无缺,但是当我尝试使用

运行它时
sudo opt load /path/to/testpass/TestPass.so TestPass < testprogram.bc > /dev/null

我收到以下错误消息:

Error opening /path/to/testpass/TestPass.so': /path/to/testpass/TestPass.so: undefined symbol: _ZNK4llvm10ModulePass17createPrinterPassERNS_11raw_ostreamERKSs
-load request ignored.

我是LLVM系统的新手,并且总是遇到makefile问题。

0 个答案:

没有答案