Jump to content

TotteKarlsson

Members
  • Content Count

    18
  • Joined

  • Last visited

Posts posted by TotteKarlsson


  1. I am disappointed in the CMake/compiler implementation, as it fails to compile a standard 3rd party project, e.g. Poco (https://pocoproject.org/). Poco used to compile even with the old compiler, and is obviously easy to compile with Visual Studio. However, as libraries evolve, together with the C++ language, the old compiler is now more or less obsolete. 

     

    This fact prevents me from even trying another large 3rd party C++ project, like OpenCV or VTK.

     

    This "should" be no problem, as the Clang C++ compiler is absolutely capable of compiling these projects. However, with a broken front end CMake implementation, it is a more or less an impossible task. 

    This makes the whole platform not very useful, unless for small projects not using 3rd party C++ libraries.

     

    I hope the day comes when CMake has an Embarcadero/Clang compiler option, that can be selected and compile these very important 3rd party libraries, without copy and pasting CMake files around on the file system, as now is the proposed solution (https://docwiki.embarcadero.com/RADStudio/Athens/en/Using_CMake_with_C%2B%2B_Builder) , that I have tried, and cannot get to work. 

    image.thumb.png.6c7e9d7c14366a10f1b70f5b5aa9f39f.png

     

    image.thumb.png.9e415ff454243ba701697fc3d83edfc8.png

     

    These are not real solutions, but just crude hacks... that does not even work.

     

    I have a post about this here 

     

    • Sad 2

  2. Hello,

    I'm trying to compile a 3rd party library, called Poco (https://github.com/pocoproject/poco), using C++ builder 11 Update 3.

     

    I have followed the steps here: https://docwiki.embarcadero.com/RADStudio/Athens/en/Using_CMake_with_C%2B%2B_Builder .

     

    Main thing from the documentation is to move the file "Windows-Embarcadero.cmake" file, that is shipped with C++ builder, to CMake's Modules/Platform folder, and overwrite the Windows-Embarcadero.cmake file that is shipped with CMake. 

     

     

    Doing that, selecting Ninja as the generator, I get cmake errors:

     

     image.thumb.png.9279861c2b9a271a4b514fced934ee11.png

     

    Anyone knowing how to get past this? I'm using CMake 3.29

     

    In addition, from the Embarcadero/CMake documentation:

    image.thumb.png.956278769ee3521545c3f7e57571601d.png

     

    I have a hard time understanding what that means? Anyone knows what todo here?

     

    Looking forward to use bcc64 with 3rd party libraries!

     


  3. Hello,

    Have anyone been able to ever build a VCL forms application using cmake?

     

    Following the documentation here simply don't work.
     

    Creating the simplest VCL application, with just the main form, and a CMake file that looks like this:

    CMAKE_MINIMUM_REQUIRED(VERSION 3.0.0. FATAL_ERROR)
    
    set_embt_target("VCL" "DynamicRuntime")
    add_executable(DummyApp WIN32 arboreta.cpp TMainForm.cpp)

     

    And configuring to build with any of Embarcaderos compilers, bcc32, bcc32c and or bcc32x, using either ninja or the "Borland Compiler" option, gives this linker error, and other messages:

     

    λ make                                                                                                                                                                      
    MAKE Version 5.41  Copyright (c) 1987, 2014 Embarcadero Technologies, Inc.                                                                                                  
    -- Configuring done                                                                                                                                                         
    -- Generating done                                                                                                                                                          
    -- Build files have been written to: C:/builds/10.3/arboreta                                                                                                                
    MAKE Version 5.41  Copyright (c) 1987, 2014 Embarcadero Technologies, Inc.                                                                                                  
    MAKE Version 5.41  Copyright (c) 1987, 2014 Embarcadero Technologies, Inc.                                                                                                  
    Scanning dependencies of target DummyApp                                                                                                                                    
    MAKE Version 5.41  Copyright (c) 1987, 2014 Embarcadero Technologies, Inc.                                                                                                  
    [ 33%] Linking CXX executable DummyApp.exe                                                                                                                                  
    Embarcadero C++ 7.50 for Win32 Copyright (c) 2012-2021 Embarcadero Technologies, Inc.                                                                                       
    Embarcadero Technologies Inc. bcc32x version 5.0.2 (d939c99b.1e953156.37585) (based on LLVM 5.0.2)                                                                          
    Target: i686-pc-windows-omf                                                                                                                                                 
    Thread model: posix                                                                                                                                                         
    InstalledDir: C:\Program Files (x86)\Embarcadero\Studio\21.0\bin                                                                                                            
    bcc32x.exe: warning: argument unused during compilation: '-nobuiltininc' [-Wunused-command-line-argument]                                                                   
     "\"C:\\Program Files (x86)\\Embarcadero\\Studio\\21.0\\bin\\ilink32.exe\"" "@\"C:\\Users\\totte\\AppData\\Local\\Temp\\DummyApp-95196a.cfg\""                              
    Turbo Incremental Link 6.95 Copyright (c) 1997-2021 Embarcadero Technologies, Inc.                                                                                          
    Error: Unresolved external '_main' referenced from C:\PROGRAM FILES (X86)\EMBARCADERO\STUDIO\21.0\LIB\WIN32C\DEBUG\C0X32.OBJ                                                
    Error: Unable to perform link                                                                                                                                               
    bcc32x.exe: error: linker command failed with exit code 2 (use -Xdriver -v to see invocation)                                                                               
                                                                                                                                                                                
    ** error 2 ** deleting DummyApp.exe                                                                                                                                         
                                                                                                                                                                                
    ** error 1 ** deleting CMakeFiles\DummyApp.dir\all                                                                                                                          
                                                                                                                                                                                
    ** error 1 ** deleting all                                                                                                                                                  
                                                                                                                                                                                
    C:\builds\10.3\arboreta                                                                                                                                                     

    The above linker error indicate that the linker thinks this is a command line application, with a main() function, instead of a WinMain one. 

    This is after copying the Windows-Embarcadero.cmake file to CMakes install directory.

    The problem is most likely in that file.

     

    Anyone knowing how to get past the linker error and build a VCL forms application using CMake instead of the IDE?

     

    Thanks,

    -tk

     

     


  4. 4 hours ago, oliwe said:


    Then I tested Code Completion - nothing, no result after 1 or 2 minutes.
    Also, changing the options did not change anything. Zero respond.

    Then I switched back to 64-bit - Code Completion was broken there also.
    Zero respond.

    I tried everything to make it work again - nothing helped.
    Panic. After a reboot and "I don't know what", Code Completion works under 64bit again - I won't try 32bit again.

    Is this perhaps a problem with the chosen target platform after all?

    Interesting observation. And it is also an important observation. Glad you 'got it working'! You are lucky!

    Obviously, there is something buggy about it, and perhaps I am just "unlucky" that it does not work for me. Maybe it will work after a reboot Sunday morning at 9.45am? 
    I will try out the 64bit compiler to see if that makes a difference.



  5. I currently get the following error when I select 'updates'.

    image.thumb.png.f5a79f545f57db5a41c991be000f1f03.png

     

    It says, Setup cannot continue due to a corrupted installation file.

     

    Any ideas what this one is about?


  6. On 3/23/2021 at 11:03 AM, weirdo12 said:

    Did you search your code for #pragma link "Data"?

    I did. Not to be found anywhere. This problem popped up while reorganizing code into several individual packages. 

     

    I do believe I got this fixed by changing my own pragmas.

     

    This 'type' ( no lib extension,

    #pragma comment(lib, "bindcomp")

    into this

    #pragma comment(lib, "bindcomp.bpi")

     

    I suspect using the first #pragma links static libs into the package, which could be fine. But then, when a package links to a package that have statically linked  packages, I get linker errors.


    Wonder why the linker can't reveal the reference?


  7. I have 10.4.2 and are using the 32 bit clang compiler. 

     

    I have zero (0!) code completion functionality. There is just nothing happening when trying to "complete" anything.

     

    Creating an empty project, however, and using the clang32 compiler, seems to kind of work, although it takes a long time for anything to show, like more than 10 seconds.  Note; I do have a modern 8 core CPU and bunch of RAM.

     

    In my larger project, there is zero code completion. It simply doesn't work.

     

    Any tips on this ? I have been trying to migrate to clang for years, but it seems that each time that I am trying, I have to go back to bcc32 because the IDE is not usable.


  8. I am restructuring a project (a VCL Forms application) to use bcc32c instead of the classic compiler.

     

    I'm stuck at this linker error:

    [ilink32 Error] Fatal: Unable to open file 'DATA.OBJ'

     Anyone knowing what library I should/could add in the following pragma.

    #pragma comment(lib, "the-import-lib")

     

    Or if there is another way to find out where the linker error comes from.


  9. Hello,
    I installed Konopka Controls in C++ Builder 10.4.2 using getit. Something went wrong and the controls never showed up on the Palette.

     

    I'm now trying to uninstall and are getting this (see screenshot):

     

    image.thumb.png.5f69f580aa7deb96d57986b58891e2ae.png

     

    Any pointers on how to 'reset' getit or getit working??

     

    I'm trying to work on an application that are using these controls, but the IDE don't let me, as the absence of these controls results in unresolved externals etc..

     

    -tk


  10. Devastating.. just look at this "thread". Completely unorganized after just a few replies. Like a text message thread, but worse. 

     

    And wondering when this site is to be retired? Next week, a year?? There is no guarantee at all on a site like this, as I can see it.

     

    Kind of ridiculous.. very sad. 
     

    • Like 1
    • Confused 2

  11. Thanks for the reply Lars!

     

    But actually, getting back to this problem, after 24 hours, it seems to have been an Embarcadero server being down, as today it works fine! 

     

    This without changing any hidden variable in the registry, or executing esoteric commands on the command line...

    -tk


  12. I have C++ builder 10.3 and 10.4 installed on my system.  

    In 10.3, the Getit package manager seem to work properly.

    image.thumb.png.31336458bb6825c9d110b4fc5c517430.png

    In 10.4, on the other hand, I get this screen:

    image.thumb.png.bdc4738d2147cb5b212b8f6397b5d2a5.png

     

    The Getit manager used to work in 10.4, but now its broken and I have no clue on how to fix it..?? Any thoughts?

    It seems it donwloads some stuff, as it populates the number of available packages, categories etc..

     

    I did this on the commandline  "GetItCmd.exe -c=useonline"

     

    -tk

     

×