2016-06-19 18 views
1

我想在Qt Creator 3.0.1版本中運行一個程序,該程序使用Qt 4.8.6在64位版本的Ubuntu 14.04上編譯。我已經搜索了與該主題相關的其他帖子,並且可能性是32位和64位可執行文件之間存在衝突。然而,令我感到意外的是,該程序在兩個小時前完全運行並且沒有問題,完全相同的環境。Ubuntu 14.04 LTS x86-64bit Qt Creator 3.0.1套件Qt 4.8.6無法啓動程序。路徑或權限錯誤?

返回的錯誤是:

Failed to start program. Path or permissions wrong? 

再次,我知道有可能與32位和64位的東西有問題。我用ldd檢查了可執行文件,得到:

not a dynamic executable 

這對我說可執行文件無法運行。但我仍然不知道爲什麼,因爲正如我所說的,兩個小時前我正在運行該程序,並且工作正常。

+0

任何想法發生了什麼變化?你是否想通過QtCreator運行程序(例如ctrl + r),或者從終端命令行'。/ myProgram'中獨立運行?你可以使用'file'命令來告訴你這個文件是32位還是64位...... –

+0

我真的不知道發生了什麼變化。我一直在玩sudo apt-get來確保一切順利,所以也許在那裏發生了一些事情。 – Coliwack

+0

你可以在你的可執行文件上運行'file'命令嗎?你應該得到如下輸出:'$ file program'(其中程序是你的可執行文件),然後:'程序:ELF 32位LSB可執行文件,Intel 80386,版本1(SYSV),動態鏈接 (使用共享庫) (從維基上取下這個例子) 否則,如果它的安裝問題 - 可能很難跟蹤,但它可能是值得在另一臺PC上編譯/構建,或者更簡單的一個乾淨的ubuntu virtualbox,它只需要一對夫婦幾小時從頭開始設置... –

回答

1

其實我現在相當確信它是下列之一:

嘗試(其中program是你的可執行文件的名稱):

  • 在終端cd /path/to/your/executable。然後`./program'
    • 如果這不起作用,請執行sudo chmod 777 program,然後重試。
  • 如果/當您在終端中運行此程序,請嘗試在Projects --> General --> Build Directory下查找QtCreator構建路徑,並檢查此路徑是否正確。
  • 在QtCreator檢查Run Settings --> Working Directory

這可能是因爲你正在運行的Qt作爲普通用戶,當你在那裏的管理員(或反之亦然)運行的,因此之前無論是你的路徑已經改變或權限不同。

我的網絡上查看,發現類似的問題還有,這看起來是一樣的,我和我回憶起這樣的事情作爲管理員一次運行的時候......

+1

謝謝。我發現它後,我做了sudo chmod 777.你的答案已被接受! – Coliwack

+0

啊好啊,是的,它突然在我身上恍然大悟 - 我之前遇到過這樣的問題,特別是在Linux平臺上與不同用戶使用QtCreator時......你可以用'ls -l'來查看用戶和組,看看哪個用戶創建了這個文件(例如,爲了讓你知道你做了什麼來「打破」權限,可能是sudo,比如像sudo一樣運行QtCreator,這會在你以普通用戶身份運行時破壞它)。 .. –