Looking at your README, you’re using GitHub - trufflesuite/ganache-cli-archive: Fast Ethereum RPC client for testing and development. See https://github.com/trufflesuite/ganache for current development. which actually redirects to ganache-cli. Looks like the project became Ganache:
Looking for TestRPC?
If you came here expecting to find the TestRPC, you’re in the right place! Truffle has taken the TestRPC under its wing and made it part of the Truffle suite of tools. From now on you can expect better support along with tons of new features that help make Ethereum development safer, easier, and more enjoyable. Use
ganache-clijust as you wouldtestrpc.
And Ganache does not support Solidity compilation like TestRPC used to:
Unsupported Methods
eth_compileSolidity: If you’d like Solidity compilation in Javascript, please see the solc-js project.
This means it won’t work the way you’re trying to do it. You need to use the compiler yourself and compile the contract into bytecode you can deploy.
If you can use JS directly from Qt, try solc-js. If not, you can invoke the native Linux binary you got with --standard-json option. Here’s the documentation for the input JSON the compiler accepts: Using the compiler > Input description.
And an example of input and compiler invocation:
input.json:
{
"language": "Solidity",
"sources": {
"contract.sol": {
"content": "contract C {}"
}
},
"settings": {
"outputSelection": {"*": { "*": ["evm.bytecode.object"]}},
"optimizer": {"enabled": true}
}
}
solc --standard-json input.json