由YouCompleteMe安装引起一系列问题
来源:互联网 发布:centos 挂载u盘 编辑:程序博客网 时间:2024/05/21 09:41
- 不知道为什么编译安装YouCompleteMe插件后,引发一系列问题,导致系统崩溃
- 最后找到问题所在,.ycm_extra_conf.py 配置文件时将系统有些默认文件给更改啦
.ycm_extra_conf.py配置文件, C-family, QT补全
# This file is NOT licensed under the GPLv3, which is the license for the rest# of YouCompleteMe.## Here's the license text for this file:## This is free and unencumbered software released into the public domain.## Anyone is free to copy, modify, publish, use, compile, sell, or# distribute this software, either in source code form or as a compiled# binary, for any purpose, commercial or non-commercial, and by any# means.## In jurisdictions that recognize copyright laws, the author or authors# of this software dedicate any and all copyright interest in the# software to the public domain. We make this dedication for the benefit# of the public at large and to the detriment of our heirs and# successors. We intend this dedication to be an overt act of# relinquishment in perpetuity of all present and future rights to this# software under copyright law.## THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR# OTHER DEALINGS IN THE SOFTWARE.## For more information, please refer to <http://unlicense.org/>import osimport ycm_core# These are the compilation flags that will be used in case there's no# compilation database set (by default, one is not set).# CHANGE THIS LIST OF FLAGS. YES, THIS IS THE DROID YOU HAVE BEEN LOOKING FOR.flags = ['-Wall','-Wextra','-Werror','-Wno-long-long','-Wno-variadic-macros','-fexceptions','-DNDEBUG','-fPIC',# You 100% do NOT need -DUSE_CLANG_COMPLETER in your flags; only the YCM# source code needs it.'-DUSE_CLANG_COMPLETER',# THIS IS IMPORTANT! Without a "-std=<something>" flag, clang won't know which# language to use when compiling headers. So it will guess. Badly. So C++# headers will be compiled as C headers. You don't want that so ALWAYS specify# a "-std=<something>".# For a C project, you would set this to something like 'c99' instead of# 'c++11'.'-std=c++11',# ...and the same thing goes for the magic -x option which specifies the# language that the files to be compiled are written in. This is mostly# relevant for c++ headers.# For a C project, you would set this to 'c' instead of 'c++'.'-x','c++','-DQT_CORE_LIB','-DQT_GUI_LIB','-DQT_NETWORK_LIB','-DQT_QML_LIB','-DQT_QUICK_LIB','-DQT_SQL_LIB','-DQT_WIDGETS_LIB','-DQT_XML_LIB','-I', '/usr/include','-I', '/usr/include/c++/5','-I', '/usr/include/x86_64-linux-gnu','-I', '/usr/include/x86_64-linux-gnu/c++/5','-I', '/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-clang','-I', '/usr/include/x86_64-linux-gnu/qt5','-I', '/usr/include/x86_64-linux-gnu/qt5/QtConcurrent','-I', '/usr/include/x86_64-linux-gnu/qt5/QtCore','-I', '/usr/include/x86_64-linux-gnu/qt5/QtDBus','-I', '/usr/include/x86_64-linux-gnu/qt5/QtGui','-I', '/usr/include/x86_64-linux-gnu/qt5/QtHelp','-I', '/usr/include/x86_64-linux-gnu/qt5/QtMultimedia','-I', '/usr/include/x86_64-linux-gnu/qt5/QtMultimediaWidgets','-I', '/usr/include/x86_64-linux-gnu/qt5/QtNetwork','-I', '/usr/include/x86_64-linux-gnu/qt5/QtOpenGL','-I', '/usr/include/x86_64-linux-gnu/qt5/QtPlatformSupport','-I', '/usr/include/x86_64-linux-gnu/qt5/QtPositioning','-I', '/usr/include/x86_64-linux-gnu/qt5/QtScript','-I', '/usr/include/x86_64-linux-gnu/qt5/QtScriptTools','-I', '/usr/include/x86_64-linux-gnu/qt5/QtSql','-I', '/usr/include/x86_64-linux-gnu/qt5/QtSvg','-I', '/usr/include/x86_64-linux-gnu/qt5/QtTest','-I', '/usr/include/x86_64-linux-gnu/qt5/QtUiTools','-I', '/usr/include/x86_64-linux-gnu/qt5/QtV8','-I', '/usr/include/x86_64-linux-gnu/qt5/QtWebKit','-I', '/usr/include/x86_64-linux-gnu/qt5/QtWebKitWidgets','-I', '/usr/include/x86_64-linux-gnu/qt5/QtWidgets','-I', '/usr/include/x86_64-linux-gnu/qt5/QtXml','-I', '/usr/include/x86_64-linux-gnu/qt5/QtXmlPatterns']# Set this to the absolute path to the folder (NOT the file!) containing the# compile_commands.json file to use that instead of 'flags'. See here for# more details: http://clang.llvm.org/docs/JSONCompilationDatabase.html## You can get CMake to generate this file for you by adding:# set( CMAKE_EXPORT_COMPILE_COMMANDS 1 )# to your CMakeLists.txt file.## Most projects will NOT need to set this to anything; you can just change the# 'flags' list of compilation flags. Notice that YCM itself uses that approach.compilation_database_folder = ''if os.path.exists( compilation_database_folder ): database = ycm_core.CompilationDatabase( compilation_database_folder )else: database = NoneSOURCE_EXTENSIONS = [ '.cpp', '.cxx', '.cc', '.c', '.m', '.mm' ]def DirectoryOfThisScript(): return os.path.dirname( os.path.abspath( __file__ ) )def IsHeaderFile( filename ): extension = os.path.splitext( filename )[ 1 ] return extension in [ '.h', '.hxx', '.hpp', '.hh' ]def GetCompilationInfoForFile( filename ): # The compilation_commands.json file generated by CMake does not have entries # for header files. So we do our best by asking the db for flags for a # corresponding source file, if any. If one exists, the flags for that file # should be good enough. if IsHeaderFile( filename ): basename = os.path.splitext( filename )[ 0 ] for extension in SOURCE_EXTENSIONS: replacement_file = basename + extension if os.path.exists( replacement_file ): compilation_info = database.GetCompilationInfoForFile( replacement_file ) if compilation_info.compiler_flags_: return compilation_info return None return database.GetCompilationInfoForFile( filename )def FlagsForFile( filename, **kwargs ): if not database: return { 'flags': flags, 'include_paths_relative_to_dir': DirectoryOfThisScript() } compilation_info = GetCompilationInfoForFile( filename ) if not compilation_info: return None # Bear in mind that compilation_info.compiler_flags_ does NOT return a # python list, but a "list-like" StringVec object. final_flags = list( compilation_info.compiler_flags_ ) # NOTE: This is just for YouCompleteMe; it's highly likely that your project # does NOT need to remove the stdlib flag. DO NOT USE THIS IN YOUR # ycm_extra_conf IF YOU'RE NOT 100% SURE YOU NEED IT. try: final_flags.remove( '-stdlib=libc++' ) except ValueError: pass return { 'flags': final_flags, 'include_paths_relative_to_dir': compilation_info.compiler_working_dir_ }
qmake生成Makefile时INCPATH路径错误处理
更改下列文件
/usr/lib/x86_64-linux-gnu/qt5/mkspecs/common/中:
gcc-bace.conf
更改其中QMAKE_CFLAGS_ISYSTEM = -I
阅读全文
0 0
- 由YouCompleteMe安装引起一系列问题
- 由" failed to run the android sdk manager"引起的一系列问题 android
- YouCompleteMe安装
- youcompleteme 安装
- youcompleteme安装
- 安装YouCompleteMe
- 安装YouCompleteMe
- YouCompleteme 安装
- YoucompleteMe安装
- Youcompleteme安装
- 对话框风格引起的一系列问题
- Centos下安装YouCompleteMe
- 安装youcompleteme 问题
- YouCompleteMe插件安装
- 使用Vundle安装YouCompleteMe
- YouCompleteMe的安装
- 安装 youcompleteme 插件
- Debian下安装YouCompleteMe
- SWIFT电文简介
- 如何调整虚拟机中Ubuntu系统显示尺寸大小
- yii-console
- JavaScriptSE6 let和const命令
- fbo的个人浅薄了解
- 由YouCompleteMe安装引起一系列问题
- 线程终止方式
- 51nod 1049最大子段和(dp)
- Leetcode-Length of Last Word
- 圆
- 二叉树的递归和非递归遍历方法
- 浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
- 多重背包二进制优化模板
- Mysql学习之路05-连接查询