QNX IDE使用cin輸入變量不能編譯經過的解決方法

在使用QNX Momentics IDE開發C++代碼時,出現以下的錯誤提示:ide

根據這個錯誤描述,只知道是C/C++ Problem,可是具體是什麼緣由,編譯器很吝嗇,什麼也沒有告訴咱們,或許它本身都沒法清楚的表達。好在從最近一次編譯OK的代碼到目前爲止,改變的代碼並很少,逐一排除後發現,是這兩行代碼致使發生了這樣的問題,去掉後一切OK:函數

int value;
cin >> value;

將int value改成char或string類型後沒有編譯錯誤,相似的,輸入參數爲float,double類型都會出現同樣的問題。查詢baidu,google和stackflow都沒有找到相似的解決方案,或許使用QNX的人自己就太少了。最後沒有辦法,使用string來繞開這個問題,最後解決方案以下:google

string str;
cin >> str;
int value = atoi(str.data());
double = value = atof(str.data());

難道QNX下的C++不支持cin輸入int,float,double嗎?進入qnxide目錄,查看istream的源代碼,也有對int,float和double的>>操做符重載(若是沒有重載應該編譯報錯並顯示不存在的函數重載纔對)。後來在google上看到一篇文章,說多是target系統的支持問題,由於個人QNX程序最後是部署到QNX系統上運行了,難道是這個緣由嗎?Oh,MyGod!code

項目進度要緊,不去深究它了。ci

 

****************************************************************開發

2017/06/12 增長部署

****************************************************************get

今天又出現這樣的問題,通過檢查,發現是項目引用的lib文件沒有生成,致使依賴的lib庫文件找不到。還在能夠到console控制檯中找到錯誤的緣由所在,解決了這個問題。看來發生C++ Problem的問題處理目標平臺的關係,還有編譯>連接>make之間的緣由。編譯器

相關文章
相關標籤/搜索