請教,要如何安裝basic stamp的編譯器? [論壇 - Ubuntu 程式設計]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊



請教,要如何安裝basic stamp的編譯器?
會員一級
註冊日期:
2014/3/23 19:34
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 31
MP : 4 / 518
EXP: 25
離線
http://www.playrobot.com/cart/shop.php?type=10000/10113/10118&toptypes=&actionmode=&text=0&typeid=10113&typeidtitle2=
這是我在網路上找到的檔案
但是我都安裝不起來


joey@joey-Q2556N:~$ sudo tar -zxvf stampbc124.tgz
[sudo] password for joey:
stampbc_124/
stampbc_124/Makefile
stampbc_124/SBCompiler.cc
stampbc_124/SBCompiler.h
stampbc_124/SBLoader.cc
stampbc_124/SBLoader.h
stampbc_124/SBProject.cc
stampbc_124/SBProject.h
stampbc_124/SBTokenizer.cc
stampbc_124/SBTokenizer.h
stampbc_124/defs.h
stampbc_124/showtty
stampbc_124/stampbc.cc
stampbc_124/nedit_rsc
stampbc_124/test.bs2
stampbc_124/test.bse
stampbc_124/test1.bs2
stampbc_124/test1.bse
stampbc_124/test2.bse
stampbc_124/test3.bse
stampbc_124/README.stampbc
stampbc_124/tokenizer.so
stampbc_124/README.nedit
stampbc_124/README.1st
joey@joey-Q2556N:~$ cd stampbc_124/
joey@joey-Q2556N:~/stampbc_124$ ./configure
bash: ./configure: 沒有此一檔案或目錄
joey@joey-Q2556N:~/stampbc_124$ make
g++ -g -Wall -D_COLORFUL -c stampbc.cc
stampbc.cc: In function ‘int processOptions(int, char**, SBProject&)’:
stampbc.cc:80:27: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses]
f = proj.getFlags() | SBProject::F_COMPILEONLY &
^
stampbc.cc:133:31: error: ‘atoi’ was not declared in this scope
proj.setSlot(atoi(optarg));
^
stampbc.cc: In function ‘int main(int, char**)’:
stampbc.cc:185:25: error: ‘exit’ was not declared in this scope
exit(ret > 0 ? 0 : ret);
^
make: *** [stampbc.o] Error 1
joey@joey-Q2556N:~/stampbc_124$ make Install
make: *** No rule to make target `Install'. Stop.
joey@joey-Q2556N:~/stampbc_124$ sudo make install
cp tokenizer.so /usr/local/lib
cp stampbc /usr/local/bin/__stampbc
cp: 無法 stat ‘stampbc’: 沒有此一檔案或目錄
make: *** [install] Error 1

joey@joey-Q2556N:~/stampbc_124$



請問我有哪裡做錯了嗎?
我也有試著把他轉成deb包
但是安裝起來都沒有反應....
還是可以使用別種方式安裝?
另外請問使用上會跟在windows裏面差很多嗎?
還請各位指點

2015/2/22 13:20
應用擴展 工具箱
回覆: 請教,要如何安裝basic stamp的編譯器?
會員二級
註冊日期:
2009/6/22 14:07
所屬群組:
已註冊使用者
等級: 8
HP : 0 / 179
MP : 28 / 5454
EXP: 18
離線
編譯並沒有成功,因為程式碼有錯誤

錯誤訊息告訴你找不到 atoi() 和 exit() 這兩個函式,這個比較容易解決

打開 stampbc.cc,然後在第 17 行的地方加入以下這行就可以了

#include <stdlib.h>

但接下來又會出現三個錯誤

SBTokenizer.cc:68:32: error: lvalue required as left operand of assignment
   (void *)m_TestRecAlignment = dlsym(m_libt, "TestRecAlignment");
SBTokenizer.cc:69:23: error: lvalue required as left operand of assignment
   (void *)m_Compile = dlsym(m_libt, "Compile");
SBTokenizer.cc:70:23: error: lvalue required as left operand of assignment
   (void *)m_Version = dlsym(m_libt, "Version")

這三個指定運算的左值有問題,但我不知怎麼改,這問題就留給其他高手幫你解決了

還有你這個程式的編譯方式如下,不用 ./configure
$ make
$ sudo make install

2015/2/22 18:17
應用擴展 工具箱
回覆: 請教,要如何安裝basic stamp的編譯器?
會員二級
註冊日期:
2009/6/22 14:07
所屬群組:
已註冊使用者
等級: 8
HP : 0 / 179
MP : 28 / 5454
EXP: 18
離線
都沒人回,好吧,其實如果硬要用的話也不是不可以,只是我認為這樣的做法比較不好就是

1. 在 stampbc.cc 的第 17 行加入

#include <stdlib.h>


2. 把 SBTokenizer.cc 第 68, 69, 70 行前面的 (void *) 刪除

m_TestRecAlignment = dlsym(m_libt, "TestRecAlignment");
m_Compile = dlsym(m_libt, "Compile");
m_Version = dlsym(m_libt, "Version");


3. Makefile 的第 7 行加入 -fpermissive

CFLAGS = -g -Wall -D_COLORFUL -fpermissive


4. 在 SBCompiler.cc 的第 23 行加入

#include <stdlib.h>


5. 編譯、安裝

$ make
$ sudo make install

2015/2/23 20:07
應用擴展 工具箱
回覆: 請教,要如何安裝basic stamp的編譯器?
會員一級
註冊日期:
2014/3/23 19:34
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 31
MP : 4 / 518
EXP: 25
離線
謝謝
可以安裝了

可是要怎麼去執行他?
還有後面兩個檔案我也照著README做了
可是我也不知道要怎麼開啟..

P.S.
我是個菜鳥
如果問到蠢問題還請多包含~

2015/2/23 22:15
應用擴展 工具箱
回覆: 請教,要如何安裝basic stamp的編譯器?
會員二級
註冊日期:
2009/6/22 14:07
所屬群組:
已註冊使用者
等級: 8
HP : 0 / 179
MP : 28 / 5454
EXP: 18
離線
我剛試了一下,發現它提供的 tokenizer.so 是 32ibt 的,所以這個編譯器要在 32bit 的 Ubuntu 下才有可能正常運作

使用方法就像這樣
$ stampbc test.bs2


後面兩個是 IDE,可以不用裝,還有你這軟體很久沒更新了,可能就算換到 32bit 的 Ubuntu 底下也不能用

=============================================================

剛在裝了 Ubuntu 12.04.5 32bit 的 EEEPC 701 底下試了一下,也許可以唷

 $ sudo stampbc hello.bs2
compiling project file hello.bs2
downloading hello.o
indentifying the stamp
** not stamp or  not a BS2

因為我沒相關設備所以最後就跑不下去了,樓主就自己再試一下吧

2015/2/23 23:40
應用擴展 工具箱
回覆: 請教,要如何安裝basic stamp的編譯器?
會員一級
註冊日期:
2014/3/23 19:34
所屬群組:
已註冊使用者
等級: 2
HP : 0 / 31
MP : 4 / 518
EXP: 25
離線
了解了~
謝謝拉


看來我要來重灌電腦了....T T

2015/2/24 11:05
應用擴展 工具箱


 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.