Page 1 of 1
Problem installera telldus-core med cmake i ubuntu 9.10
Posted: Fri Mar 17, 2023 9:45 am
by Hjtrakfö
Jag försöker installera telldus-core för att kunna skriva nåra små C-snuttar på en ubuntu9.10 server. Jag följer anvisningen i Wikin "TellStick installation - Linux"
Har kommit till kommandoraden:
cmake -DBUILD_LIBTELLDUS-CORE=0 -DBUILD_TDTOOL=0 -DBUILD_RFCMD_WITH_LIBFTDI=0 .
Det blir ett fel som jag inte lyckas googla upp nån lösning på:
CMake Error at /usr/share/cmake-2.6/Modules/FindQt4.cmake:640 (MESSAGE):
Could NOT find QtCore header
Call Stack (most recent call first):
telldus-service/service/CMakeLists.txt:1 (FIND_PACKAGE)
Lite hjälp på vägen vore tacksamt!
Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Installera Qt4-core devpaket. Kanske heter libqt4-core-dev?
Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Ska du skriva egna program rekommenderar jag dig att kompilera telldus-core och inte rfcmd. Du kan läsa dokumentationen till telldus-core:
http://developer.telldus.se/doxygen/
Posted: Fri Mar 17, 2023 9:45 am
by Hjtrakfö
Jag försöker följa er instruktion på
http://developer.telldus.se/wiki/TellSt ... 0-%20Linux
Det är telldus-core jag försöker få installerat, det verkar som att det är det som instruktionen beskriver?
Jag har redan libqt4-core, men efter din post letade jag upp libqt4-dev också (146MB!).
Jag är mest van att använda plain make, så jag gör detta rätt brain dead efter instruktionen. Nu gick iaf. cmake steget igenom, ska försöka make imorgon.
Tack så länge!
Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Till cmake skickar du in DBUILD_LIBTELLDUS-CORE=0 vilket specifikt säger till att inte bygga telldus-core. Hur hittade du till guiden? Det är nämligen en rätt gammal guide.
För att bygga telldus-core kan du följa:
http://developer.telldus.se/wiki/TellSt ... tionSource
Fungerar inte våra binära paket eller vad är anledningen till att du bygger själv?
Posted: Fri Mar 17, 2023 9:45 am
by Hjtrakfö
Ja, jag är kanske ute i helt fel skidspår.
Tog för givet att jag måste bygga ett lib från källkod.
Det jag vill göra är att bygga vidare på ert C++exempel som så:
Code: Select all
int intNumberOfDevices = tdGetNumberOfDevices();
for (int i = 0; i < intNumberOfDevices; i++) {
int id = tdGetDeviceId( index );
char *name = tdGetName( id );
printf("%d\t%s\n", id, name);
tdReleaseString(name);
}
Vill bara kunna länka detta, har inget skäl att bygga för några egna varianter på lågnivåfunktioner eller så.
Jag hittade troligen bygg-guiden med search på nåt nyckelord i forumet.
Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Eftersom du kör Ubuntu så räcker det att installera libtelldus-core-dev så har du vad du behöver.
Posted: Fri Mar 17, 2023 9:45 am
by Hjtrakfö
Ah, var det så det hette! har provat förut med att hitta nåra varianter på telldus-core men prickade inte rätt.
#include heter alltså </usr/include/telldus-core.h>, vad heter lib?
(Tänkte använda C under gcc)
Posted: Fri Mar 17, 2023 9:45 am
by micke.prag
Include ska bara vara:
för att vara plattformsoberoende. Hittar inte kompilatorn headern så skicka istället in en path med -I
Biblioteket heter telldus-core så att kompilera ditt program skulle kunne ske såhär:
Code: Select all
gcc main.cpp -o programnamn -ltelldus-core
alternativt:
Code: Select all
gcc main.cpp -o programnamn -I/usr/include -ltelldus-core
Posted: Fri Mar 17, 2023 9:45 am
by Hjtrakfö
Utmärkt, tack!
Nu funkar det i gammaldags C också.
Code: Select all
#include <stdio.h>
#include <telldus-core.h>
int NumberOfDevices, i, id ;
char *name;
main()
{
NumberOfDevices = tdGetNumberOfDevices();
for (i = 0; i < NumberOfDevices; i++)
{
id = tdGetDeviceId(i);
name = tdGetName(id);
printf("%d\t%s\n", id, name);
tdReleaseString(name);
}
}