невозможно перейти к реализации функции VIM

Я использую VIM для программного обеспечения. Здесь я использую ctags для перехода к определению и объявлению functin. В чем проблема, когда я набираю: ctrl+] он переходит на часть объявления функции в файле obj_rec.h, но не переходит на часть obj_rec.cpp из файла d main.cpp. Я также создал файл тегов с помощью cmd, ctags -R --exclude=.git . и ctags -R и ctags -R -f но это также не работает. Вот как выглядят файлы: test.h

#ifndef TEST_H
#define TEST_H


class test
{
public:
  test();
};
testFunc();
#endif // TEST_H

test.cpp

#include "test.h"
#include <iostream>
test::test()
{
  std::cout<<"test called"<<std::endl;    
}
testFunc() { std::cout<<"test func"<<std::endl;

main.cpp

#include <iostream>
#include "test.h"
int main() 
{
    test obj;
    test(); 
    return 0;
}

Здесь, когда я помещаю курсор в класс test или функцию test в файле main.cpp, он переходит в файл test.h, а не в test.cpp. Что я должен сделать, чтобы перейти к test.cpp, где его реализация присутствует с помощью ctags?

Вот как мой CMakeLists.txt: cmake_minimum_required (ВЕРСИЯ 2.8)

project(ai_vision)
find_package(OpenCV REQUIRED)
include_directories(${OpenCV_INCLUDE_DIRS} /usr/include/CL/)
set(src main.cpp obj_rec.cpp mean_shift.cpp use_opencl.cpp)
add_executable(${PROJECT_NAME} ${src})
target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBS} /usr/lib/x86_64-linux-gnu/libOpenCL.so)

Я использую Ubuntu 18.04, VIM версии 8.0.

Всего 1 ответ


Чтобы перейти к определению функции, в которой реализована функция, вы должны использовать функцию тегов ctags. Вместо того, чтобы идти к определению функции. Для этого вы должны использовать cmd:

тег funcName

как также описано в этой документации. После этого в вашем случае просто наберите: tag testFunc, чем он перейдет в test.cpp файл test functin.