2017-04-05 50 views
1

試圖編譯valkyrie(valgrind GUI),並引發錯誤。 步驟:試圖編譯valkyrie(valgrind的GUI),它會拋出一個錯誤:

  1. 下載武神2.0.0從Valgrind的網站

  2. 後解壓我也跟着下INSTALL文件的說明:

  3. stillstoned @ stillstoned〜/下載/武神-2.0.0/src目錄$ QMAKE-QT4 PREFIX = /選擇

[email protected] ~/Downloads/valkyrie-2.0.0/src $ make 
compiling objects/tool_object.cpp 


objects/tool_object.cpp: In member function ‘bool ToolObject::startProcess(QStringList)’: 

objects/tool_object.cpp:391:42: error: ‘usleep’ was not declared in this scope 
     usleep(WAIT_VG_START_SLEEP * 1000); 
             ^

objects/tool_object.cpp: In member function ‘void ToolObject::stopProcess()’: 

objects/tool_object.cpp:474:42: error: ‘usleep’ was not declared in this scope 
      usleep(1000 * sleepDuration); 
             ^
make: *** [Makefile:627: obj/tool_object.o] Error 1 
[email protected] ~/Downloads/valkyrie-2.0.0/src $ 

你有什麼想法嗎? 謝謝!我很欣賞你的答案。

+0

你真的需要建立自己嗎?操作系統附帶的版本有什麼問題?如果你使用的是Ubuntu 16.04,它的版本是2.0.0:'sudo apt install valkyrie'。 – Velkan

回答

1

我在標準RHEL 7.1(3.10.0-229.el7.x86_64)系統上遇到同樣的問題。由於這個系統沒有RH訂閱允許使用yum,所以我不得不求助於下載.bz2並自己構建它。以下是我如何解決編譯器錯誤。

問題#1:objects/tool_object.cpp:392:42:error:?usleep?在這方面沒有申明。 修復#1:將#include添加到該源

問題#2:utils/vk_config.cpp:125:25:error:?getuid?未在此範圍內聲明 修正#2:將#include添加到源中。

問題3:utils/vk_utils.cpp:54:83:error:?getpid?在這方面沒有申明。修復#3:將#include添加到源代碼中。

有了這些修復程序,我按照「INSTALL」文件中的步驟操作,現在Valkyrie(v2.0.0)+ Valgrind(v3.12.0)可以一起工作。

相關問題