Page 3 of 5 FirstFirst 12345 LastLast
Results 51 to 75 of 121

Thread: How To Compile Smart.

  1. #51
    Join Date
    Mar 2013
    Posts
    5
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    No rule to install taget windows stop.

    That came up when i tried compiling, any ideas?

    Also, i edited the Makefile in the Smart folder, but, unless i read wrong, it then says to edit another makefile? where is the second one?

    Thanks!

  2. #52
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    You're not "installing" anything. If anything, that error should be more like "No Rule To Make Windows".. BUT there is a rule to make windows.

    I just tried it just now. If you need help setting up a compiler, I can probably teamviewer you some time.
    I am Ggzz..
    Hackintosher

  3. #53
    Join Date
    Mar 2013
    Posts
    5
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Mate i;ll pm you now in regards to teamviewer, i cannot get SMART to work for the life of me!

  4. #54
    Join Date
    Mar 2013
    Posts
    13
    Mentioned
    0 Post(s)
    Quoted
    2 Post(s)

    Default

    I'm missing the remote folder in my unzipped SMART folder. I only have src and test-apps in mine. This is causing me to be unable to compile it. Can anyone help please?

  5. #55
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Uhh Download: https://github.com/BenLand100/SMART/archive/master.zip

    And just run make windows on it.

    If it doesn't work, you can try the make file that I wrote.. Just edit the "JavacPath" and it'll work. Why do you guys still need to compile Smart though? I thought it worked out of the box now :S

    MAKE Code:
    WinGPP = g++
    LinGPP = g++
    Javac = javac
    JavacPath = "C:/Program Files (x86)/Java/jdk1.6.0_41/bin"

    BinDIR = bin
    ObjDIR = obj
    SrcDIR = src
    BitFLG = -m32

    JavaOUT = smart.jar
    RemoteOUT = libsmartremote$(subst -m,,$(BitFLG))
    JniOUT = libsmartjni$(subst -m,,$(BitFLG))

    WinDEP = -static -static-libgcc -static-libstdc++ -shared -s -o
    LinDEP = -static -static-libgcc -static-libstdc++ -shared -s -o
    WinARGS = -std=c++11 -O3 -DWINDOWS -s -c $(BitFLG)
    LinARGS = -FPIC -std=c++11 -O3 -DLINUX -s -c $(BitFLG)


    REMOUT = NONE
    GPP = NONE
    ARGS = NONE
    DEPS = NONE
    JNI = NONE
    OBJ = NONE
    LINKER = NONE
       
    CppFiles = \
        $(SrcDIR)/SmartRemote.cpp
       
    ObjFiles = \
        $(patsubst $(SrcDIR)/%.cpp,$(OBJ)/%.o,$(CppFiles))
       
    JniFiles = \
        $(SrcDIR)/SmartJNI.cpp
       
    JniObjFiles = \
        $(patsubst $(SrcDIR)/%.cpp,$(OBJ)/%.o,$(JniFiles))
       
    JavaFiles = \
        $(wildcard $(SrcDIR)/*.java)
       
    JavaObjs = \
        $(wildcard $(OBJ)/*.class)
       
    all:
        @echo
        @echo "  Instructions For Making Smart:"
        @echo
        @echo "    For Windows:     make windows"
        @echo "    For Linux:       make linux"
        @echo "    For Both:        make both"
        @echo "    For x64 Builds:  make windows BitFLG=-m64"
        @echo "                     make linux BitFLG=-m64"
        @echo "    To Clean Files:  make clean"
       
    everything: linux windows

    linux:
    GPP = $(LinGPP)
    ARGS = $(LinARGS)
    DEPS = $(LinDEP)
    OBJ = $(ObjDIR)/Linux$(subst -m,,$(BitFLG))
    REMOUT = $(RemoteOUT).so
    JNI = $(JniOUT).so
    LINKER =
    linux : $(BinDIR)/Java $(BinDIR)/$(OUT) $(BinDIR)/$(JNI)
        @echo
        @echo "Finished Building Smart Linux Distribution."


    windows:
    GPP = $(WinGPP)
    ARGS = $(WinARGS)
    DEPS = $(WinDEP)
    OBJ = $(ObjDIR)/Windows$(subst -m,,$(BitFLG))
    REMOUT = $(RemoteOUT).dll
    JNI = $(JniOUT).dll
    LINKER = -lws2_32
    windows : $(BinDIR)/Java $(BinDIR)/$(REMOUT) $(BinDIR)/$(JNI)
        @echo
        @echo "Finished Building Smart Windows Distribution."
       
    clean:
        @echo "    Cleaning Build Files."
        @rm -rf $(ObjFiles) $(BinDIR) $(OBJ)

       


    $(BinDIR)/$(REMOUT): $(ObjFiles)
        @echo
        @echo "Linking Remote Object Files.."
        @mkdir -p $(BinDIR)
        @$(GPP) -Wl,$(SrcDIR)/libsmartremote.def $(DEPS) $(BinDIR)/$(REMOUT) $(ObjFiles) $(BitFLG) $(LINKER)
       
    $(BinDIR)/$(JNI): $(JniObjFiles)
        @echo
        @echo "Compiling JNI Object FIles.."
        @mkdir -p $(BinDIR)
        @$(GPP) $(DEPS) $(BinDIR)/$(JNI) $(JniObjFiles) $(BitFLG) $(LINKER)

       
    $(OBJ)/%.o: $(SrcDIR)/%.cpp
        @echo "    Compiling: " $<
        @mkdir -p $(OBJ)
        @$(GPP) $(ARGS) -o $@ $< $(LINKER)
       
       
    $(BinDIR)/Java:
        @echo "Compiling Java Files.."
        @mkdir -p $(OBJ)
        @$(JavacPath)/$(Javac) -d $(OBJ) $(JavaFiles) -sourcepath $(SrcDIR) -classpath $(OBJ)
        @mkdir -p $(BinDIR)
        @$(JavacPath)/jar cfe $(BinDIR)/$(JavaOUT) smart.Main -C $(OBJ) .
    Last edited by Brandon; 03-28-2013 at 07:46 AM.
    I am Ggzz..
    Hackintosher

  6. #56
    Join Date
    Mar 2013
    Posts
    4
    Mentioned
    0 Post(s)
    Quoted
    3 Post(s)

    Default

    So i'm still wondering why I don't have the same three files as you do in the screnshot:

    smert.PNG

    I know i've re-edited this same post multiple times, thinking that i've fixed it or not. I'm missing something for sure, because I couldn't find two Makefiles, I could only find the one.
    Last edited by kwp4peter; 04-01-2013 at 01:54 PM.

  7. #57
    Join Date
    Apr 2013
    Posts
    1
    Mentioned
    0 Post(s)
    Quoted
    1 Post(s)

    Default

    cant get it to work does anyone want to do help me trough teamviewer?

  8. #58
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Quote Originally Posted by jarlekvi View Post
    cant get it to work does anyone want to do help me trough teamviewer?
    If you're available right now, I can do it. Just msg me the ID and pass.

  9. #59
    Join Date
    Oct 2011
    Posts
    805
    Mentioned
    21 Post(s)
    Quoted
    152 Post(s)

    Default

    What jdk version is needed to compile smart 8.3 ? I compiled mine with the newest one 1.7.0_45, but my smart.jar doesn't work properly, throws:

    Code:
    SMART: Failed to pair - No client by that ID
    SMART: Failed to pair - No client by that ID
    SMART: Failed to pair - No client by that ID
    I see Brandon's link pointing to jdk1.6.0_33. Might it be the reason?

  10. #60
    Join Date
    Dec 2013
    Posts
    73
    Mentioned
    0 Post(s)
    Quoted
    29 Post(s)

    Default

    thanks

  11. #61
    Join Date
    Oct 2011
    Posts
    805
    Mentioned
    21 Post(s)
    Quoted
    152 Post(s)

    Default

    hmm is it normal when copiling SMART?

    Code:
    Compiling Java Classes...
    src\Canvas.java:30: warning: CanvasPeer is internal proprietary API and may be r
    emoved in a future release
    import java.awt.peer.CanvasPeer;
                        ^
    src\Canvas.java:85: warning: CanvasPeer is internal proprietary API and may be r
    emoved in a future release
                CanvasPeer peer = (CanvasPeer)getPeer();
                ^
    src\Canvas.java:85: warning: CanvasPeer is internal proprietary API and may be r
    emoved in a future release
                CanvasPeer peer = (CanvasPeer)getPeer();
                                   ^
    src\Main.java:40: warning: AppletClassLoader is internal proprietary API and may
     be removed in a future release
     * native method definitions and interaction with the remote controller.
           ^
    src\Client.java:665: warning: AppletClassLoader is internal proprietary API and
    may be removed in a future release
            thisLoader = AppletClassLoader.newInstance(new URL[] { clientConnection.
    getJarFileURL() });
                         ^
    Note: Some input files use or override a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    5 warnings
    So my problem is that SMART compiled by me throws this issue:
    Code:
    SMART: Located 0 clients
    But when I only replace .jar file with official binary it works. So problem is with my .jar. However it's odd, because looking into the code, pairing part is inside .dll... https://github.com/BenLand100/SMART/...emote.cpp#L287
    Last edited by bg5; 12-16-2013 at 04:01 AM.

  12. #62
    Join Date
    Aug 2009
    Location
    Nova Scotia, Canada
    Posts
    604
    Mentioned
    0 Post(s)
    Quoted
    56 Post(s)

    Default

    Anyone gotten this to work lately? Trying this on a brand new virtual machine and not having much luck. This is fresh install of Windows 8.1 Pro x64. Nothing has been installed on this machine except Jdk 1.6.0_45 (32-bit), MinGw, and windows updates. Attempting to compile SMART 8.3 located in C:\SMART.

    Path settings:
    Code:
    %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Java\jdk1.6.0\bin;C:\MinGW\bin
    Makefile:
    Code:
    #these compilers work with crossdev on gentoo
    WIN_GPP=g++
    WIN64_GPP=g++
    LIN_GPP=g++
    LIN64_GPP=g++
    JAVAC=javac
    JAR=jar
    And finally the result:
    Code:
    $ make windows
    Compiling Java Classes...
    src\Canvas.java:30: warning: java.awt.peer.CanvasPeer is Sun proprietary API and
     may be removed in a future release
    import java.awt.peer.CanvasPeer;
                        ^
    src\Client.java:34: warning: sun.applet.AppletClassLoader is Sun proprietary API
     and may be removed in a future release
    import sun.applet.AppletClassLoader;
                     ^
    src\Canvas.java:85: warning: java.awt.peer.CanvasPeer is Sun proprietary API and
     may be removed in a future release
                CanvasPeer peer = (CanvasPeer)getPeer();
                ^
    src\Canvas.java:85: warning: java.awt.peer.CanvasPeer is Sun proprietary API and
     may be removed in a future release
                CanvasPeer peer = (CanvasPeer)getPeer();
                                   ^
    src\Canvas.java:87: cannot find symbol
    symbol  : method getAppropriateGraphicsConfiguration(java.awt.GraphicsConfigurat
    ion)
    location: interface java.awt.peer.CanvasPeer
                    gc = peer.getAppropriateGraphicsConfiguration(gc);
                             ^
    src\Canvas.java:89: cannot find symbol
    symbol  : method setGraphicsConfiguration(java.awt.GraphicsConfiguration)
    location: class java.awt.Component
                super.setGraphicsConfiguration(gc);
                     ^
    src\Canvas.java:82: method does not override or implement a method from a supert
    ype
        @Override
        ^
    src\Client.java:665: warning: sun.applet.AppletClassLoader is Sun proprietary AP
    I and may be removed in a future release
            thisLoader = AppletClassLoader.newInstance(new URL[] { clientConnection.
    getJarFileURL() });
                         ^
    Note: Some input files use or override a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    3 errors
    5 warnings
    make: *** [build/java/java/awt/Canvas.class] Error 1
    Last edited by Bixby Sayz; 03-31-2014 at 02:22 PM.
    Never ever approach a computer saying or even thinking "I will just do this quickly".

  13. #63
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Quote Originally Posted by Bixby Sayz View Post
    Jdk 1.6.0_45 (32-bit)[/I].

    Makefile:
    Code:
    make: *** [build/java/java/awt/Canvas.class] Error 1

    Java 7 is required to compile AND run the new Smart. It cannot be compiled with anything lower.. It cannot be ran with anything lower. Updated the OP.

    I will update this tutorial later with the latest Mingw-x32_x64. For now, it should still work with the Mingw you have and Java 7.
    Last edited by Brandon; 03-31-2014 at 03:09 PM.
    I am Ggzz..
    Hackintosher

  14. #64
    Join Date
    Aug 2009
    Location
    Nova Scotia, Canada
    Posts
    604
    Mentioned
    0 Post(s)
    Quoted
    56 Post(s)

    Default

    I knew I was missing something simple. Just didn't know what.

    Edit: Got further with Jdk 7. It created the .jar file but balked compiling the dlls.
    Code:
    $ make windows
    Compiling Java Classes...
    src\Canvas.java:30: warning: CanvasPeer is internal proprietary API and may be r
    emoved in a future release
    import java.awt.peer.CanvasPeer;
                        ^
    src\Canvas.java:85: warning: CanvasPeer is internal proprietary API and may be r
    emoved in a future release
                CanvasPeer peer = (CanvasPeer)getPeer();
                ^
    src\Canvas.java:85: warning: CanvasPeer is internal proprietary API and may be r
    emoved in a future release
                CanvasPeer peer = (CanvasPeer)getPeer();
                                   ^
    src\Main.java:40: warning: AppletClassLoader is internal proprietary API and may
     be removed in a future release
     * native method definitions and interaction with the remote controller.
           ^
    src\Client.java:665: warning: AppletClassLoader is internal proprietary API and
    may be removed in a future release
            thisLoader = AppletClassLoader.newInstance(new URL[] { clientConnection.
    getJarFileURL() });
                         ^
    Note: Some input files use or override a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    5 warnings
    Creating JAR Archive...
    Compiling SmartRemote.cpp
    In file included from src/SmartRemote.cpp:20:0:
    src/SmartRemote.h:149:71: error: declaration of C function 'bool DllMain(HINSTAN
    CE, int, void*)' conflicts with
     extern "C" bool DllMain(HINSTANCE, int, void*) __attribute__((stdcall));
                                                                           ^
    In file included from c:\mingw\include\windows.h:62:0,
                     from src/SmartRemote.h:55,
                     from src/SmartRemote.cpp:20:
    c:\mingw\include\winbase.h:1051:13: error: previous declaration 'BOOL DllMain(HI
    NSTANCE, DWORD, LPVOID)' here
     BOOL WINAPI DllMain(HINSTANCE, DWORD, LPVOID);
                 ^
    make: *** [build/windows32/SmartRemote.o] Error 1
    Last edited by Bixby Sayz; 03-31-2014 at 03:40 PM.
    Never ever approach a computer saying or even thinking "I will just do this quickly".

  15. #65
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Quote Originally Posted by Bixby Sayz View Post
    ...

    Open and make the following changes in the corresponding files:

    C++ Code:
    /**SmartRemote.cpp (line 1381):**/

    extern "C" BOOL __stdcall DllMain(HINSTANCE instance, DWORD reason, LPVOID checks)



    /**SmartRemote.h (line 149):**/

    extern "C" BOOL __stdcall DllMain(HINSTANCE, DWORD, LPVOID)


    It should fix any errors you're having. The newer compilers don't seem to be playing as nicely with Smart's source as before.. On windows at least. I'll probably push a commit to fix it and see if Ben accepts it.

    Might be something with your compiler though. I just compiled it fine using Java 8 and Mingw-Builds 4.8.1 sjlj

    I'm going to update this tutorial now.
    Last edited by Brandon; 03-31-2014 at 04:38 PM.
    I am Ggzz..
    Hackintosher

  16. #66
    Join Date
    Aug 2009
    Location
    Nova Scotia, Canada
    Posts
    604
    Mentioned
    0 Post(s)
    Quoted
    56 Post(s)

    Default

    That got me further (on to another error), although the line numbers do differ quite a bit between whatever you are compiling and what I downloaded from the repository. We appear to be working with 2 different sets of source code. Haven't the time to dive into it too deeply atm. I'll give it another go later.
    Never ever approach a computer saying or even thinking "I will just do this quickly".

  17. #67
    Join Date
    Feb 2011
    Location
    The Future.
    Posts
    5,600
    Mentioned
    396 Post(s)
    Quoted
    1598 Post(s)

    Default

    Quote Originally Posted by Bixby Sayz View Post
    That got me further (on to another error), although the line numbers do differ quite a bit between whatever you are compiling and what I downloaded from the repository. We appear to be working with 2 different sets of source code. Haven't the time to dive into it too deeply atm. I'll give it another go later.

    Updated the tutorial with every detail and step I took to compile the new Smart. Including links to the JDK and Mingw as well as the MSYS I used. Same with the makefile.
    I am Ggzz..
    Hackintosher

  18. #68
    Join Date
    Aug 2009
    Location
    Nova Scotia, Canada
    Posts
    604
    Mentioned
    0 Post(s)
    Quoted
    56 Post(s)

    Default

    Those newer instructions did the trick. Wrong Java and wrong MinGW from old tutorial. I didn't stand a chance lol.
    Never ever approach a computer saying or even thinking "I will just do this quickly".

  19. #69
    Join Date
    Jan 2012
    Posts
    2,568
    Mentioned
    35 Post(s)
    Quoted
    356 Post(s)

    Default

    I compiled SMART http://puu.sh/b5LU2/b2a1b7b090.png
    gotten these files http://puu.sh/b5N7I/808ab8cc72.png
    but i get a compiling error in simba http://puu.sh/b5MA7/d76a0a08fa.png
    any idea?

    EDIT:
    downloaded the latest mingGW build from http://sourceforge.net/projects/ming...d?source=files
    and JDK 8 and it works now!
    Last edited by riwu; 08-24-2014 at 01:22 PM.

  20. #70
    Join Date
    Sep 2014
    Posts
    25
    Mentioned
    0 Post(s)
    Quoted
    15 Post(s)

    Default

    thx so much for this

  21. #71
    Join Date
    Oct 2008
    Posts
    196
    Mentioned
    1 Post(s)
    Quoted
    20 Post(s)

    Default

    I still get the error riwu gets even after upgrading to jre8 and installing the latest mingw build. I even get the same file sizes aswell


    Edit:
    my mingw is: x64-4.8.1-release-posix-sjlj-rev5
    my java is: jdk1.8.0_20



    @riwu
    @Brandon
    Last edited by HT BaaFly; 09-21-2014 at 02:19 PM.

  22. #72
    Join Date
    Jan 2012
    Posts
    2,568
    Mentioned
    35 Post(s)
    Quoted
    356 Post(s)

    Default

    Quote Originally Posted by HT BaaFly View Post
    I still get the error riwu gets even after upgrading to jre8 and installing the latest mingw build. I even get the same file sizes aswell


    Edit:
    my mingw is: x64-4.8.1-release-posix-sjlj-rev5
    my java is: jdk1.8.0_20



    @riwu
    @Brandon
    64bit? Try 32bit.
    Also my mingw ver is 4.7.3 rev1.

    Cant see ur image too small

  23. #73
    Join Date
    Oct 2008
    Posts
    196
    Mentioned
    1 Post(s)
    Quoted
    20 Post(s)

    Default

    Quote Originally Posted by riwu View Post
    64bit? Try 32bit.
    Also my mingw ver is 4.7.3 rev1.

    Cant see ur image too small
    Was that sarcasm? lol.

    I installed 4.7.3 rev1 64x like you said but it didn't work either although it gave me different sized dll files. I tried 32x version as well for the sake of it but it give me this bunch of errors:


  24. #74
    Join Date
    Jan 2012
    Posts
    2,568
    Mentioned
    35 Post(s)
    Quoted
    356 Post(s)

    Default

    Quote Originally Posted by HT BaaFly View Post
    Was that sarcasm? lol.

    I installed 4.7.3 rev1 64x like you said but it didn't work either although it gave me different sized dll files. I tried 32x version as well for the sake of it but it give me this bunch of errors:

    What sarcasm? no...ur image is really too small, no 1 can see it. upload it to puush or attach as attachment etc

    is ur jdk 32 bit too? Try 32bit mingw+32bit jdk+32bit simba

  25. #75
    Join Date
    Oct 2008
    Posts
    196
    Mentioned
    1 Post(s)
    Quoted
    20 Post(s)

    Default

    Quote Originally Posted by riwu View Post
    What sarcasm? no...ur image is really too small, no 1 can see it. upload it to puush or attach as attachment etc

    is ur jdk 32 bit too? Try 32bit mingw+32bit jdk+32bit simba
    alright, I'll try it later as I have to go study right now. Will till you how it turns out tomorrow. Thanks for you help

Page 3 of 5 FirstFirst 12345 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •